在命令行中调用浏览器打开网页时可否先让浏览器检查是否已经打开,有则跳转,否则重新打开 | 如何防止网页重复打开

感谢回复,我简单实现了一个。

在浏览器扩展的 background.js 文件中写以下代码, 监听标签页打开事件

chrome.tabs.onCreated.addListener(function(tab) {
  if(tab.pendingUrl.substr(7,6)=="tabid="){//如果域名是tabid=开头
    let tabid=parseInt( tab.pendingUrl.substr(13) );//取出要跳转的tabid
    //console.log(tabid);
    chrome.tabs.update(tabid,{ active: true });
    chrome.tabs.remove(tab.id);//关闭当前页面
  }
});

然后外部程序只要得到标签页对应的tabid (chrome.tabs.query) 就可在生成链接时这样写 chrome.exe tabid=940781025,只要tabid无误就可以点击链接后在不同的标签页之间切换了,域名不是tabid开头的那就是打开新页面。

感觉离实现在emacs中搜索、分组、切换标签页又前进了一步

2 个赞