获取在Chrome扩展程序中执行脚本的标签页的标签页ID

时间:2019-04-04 12:43:23

标签: javascript google-chrome-extension

在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?

0 个答案:

没有答案