在chrome扩展程序中,有没有一种方法可以获取用于执行一段javascript的标签。
通常的方法是:
chrome.tabs.query({active: true, currentWindow: true}, function(tabs){});
但是这里存在一个问题,当执行此代码时,启动该脚本的选项卡可能不会处于焦点位置,并且您将获得当前的活动选项卡。
想象以下扩展页面和脚本:
URL:chrome-extension // my-extension-id / index.html
<script type='text/javascript' src='index.js'></script>
URL:chrome-extension // my-extension-id / index.js
setTimeout(function(){
chrome.tabs.query({active: true, currentWindow: true}, function(tabs){
console.log(tabs[0]);
});
},5000);
如果打开带有html文件的url,并在不到5秒钟的时间内切换标签页,您将在控制台日志中获得新标签页。有没有办法获得原始标签?
一个明显的解决方案是首先获取活动标签,然后安排超时,但是在某些情况下,您可能会在不激活标签的情况下打开该标签,例如,右键单击+在新标签中打开。
那么有没有办法获取启动脚本的选项卡的ID?