用于标签页分组,目前的实现方式是先关闭标签页,再在指定窗口打开(https://getquicker.net/Sharedaction?code=58270a65-c82b-4918-dca3-08dbd4c004af)
但这样做好像有点消耗资源,因此想问一下有什么办法能将已加载完成的标签页发送到其他窗口
应该可以实现,但是怎么告诉动作要移动到哪个浏览器窗口比较困难
感谢回复
我现在是通过窗口ID实现移动到指定浏览器窗口的,接着这么做也可以吧?打算多做几个动作分别指定到几个分类,每个快捷键都对应一个窗口。
但是“移动窗口”这个步骤我不会写啊,有没有可以参考的动作或者子程序呢?
如果已经知道目标窗口的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);
参考chatgpt的回答和quicker文档艰难地写出了一个脚本,非常丑陋的使用了替换文本模块使这个固定的窗口ID成为一个可变量。
https://getquicker.net/Sharedaction?code=0eed67d0-8a06-4d63-be63-08dbdcf87739&fromMyShare=True