在edge浏览器内,如何实现将标签页移至另一指定窗口?

使用问题 · 906 次浏览
mary1937 创建于 2023-10-25 12:35

用于标签页分组,目前的实现方式是先关闭标签页,再在指定窗口打开(https://getquicker.net/Sharedaction?code=58270a65-c82b-4918-dca3-08dbd4c004af)

但这样做好像有点消耗资源,因此想问一下有什么办法能将已加载完成的标签页发送到其他窗口


回复内容
CL 2023-10-25 13:31
#1

应该可以实现,但是怎么告诉动作要移动到哪个浏览器窗口比较困难

mary1937 回复 CL 2023-10-25 13:38 :

感谢回复

我现在是通过窗口ID实现移动到指定浏览器窗口的,接着这么做也可以吧?打算多做几个动作分别指定到几个分类,每个快捷键都对应一个窗口。

但是“移动窗口”这个步骤我不会写啊,有没有可以参考的动作或者子程序呢?

CL 2023-10-25 13:55
#2

如果已经知道目标窗口的id,可以参考gpt的答案:


function moveTabToWindow(windowId) {

  // 获取当前活动标签

  chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {

    var currentTab = tabs[0];  // 因为只查询了当前窗口的活动标签,所以这里的tabs数组长度为1

    if(currentTab) {

      // 将标签移动到指定的窗口

      chrome.tabs.move(currentTab.id, {windowId: windowId, index: -1}, function(tab) {

        if(chrome.runtime.lastError) {

          // 发生错误时,打印错误信息

          console.error(chrome.runtime.lastError.message);

        } else {

          // 成功移动标签

          console.log('Tab moved successfully:', tab);

        }

      });

    }

  });

}


// 假设窗口ID为123

var targetWindowId = 123;

moveTabToWindow(targetWindowId);



mary1937 2023-11-04 15:16
#3

参考chatgpt的回答和quicker文档艰难地写出了一个脚本,非常丑陋的使用了替换文本模块使这个固定的窗口ID成为一个可变量。

移动其他标签页到指定窗口

https://getquicker.net/Sharedaction?code=0eed67d0-8a06-4d63-be63-08dbdcf87739&fromMyShare=True 

回复主贴