javascript - chrome.tabs.getSelected 在使用 list 版本 2 的最新 Chrome 上未定义?

标签 javascript google-chrome dom-events

我正在尝试创建一个插件,它使用 chrome.tabs.getSelected 来查找当前 URL,

下面我附上了一个最小的例子,当按下任意键时,会弹出一个对话框,但它一直告诉我 chrome.tabs.getSelected 是未定义的:

list 文件:

{
    "content_scripts": [
    {
        "matches": ["http://*/*" , "https://*/*"],
        "js" : [ "main.js" ]
    }
    ],
        "manifest_version": 2,
        "description": "XX",
        "icons": {
            "128": "icon.png",
            "16": "button.png",
            "32": "button.png",
            "48": "icon.png"
        },
        "name": "XX",
        "permissions": [ "tabs", "http://*/*", "https://*/*" ],
        "version": "1.2"
}

和 main.js:

window.addEventListener("keyup", function(e) {
    chrome.tabs.getSelected(null, function(tab) { // undefined 
        alert (tab.url);
    });

} , false);

Chromium 版本:版本 21.0.1180.89 (154005)

编辑

window.addEventListener("keyup", function(e) {
    chrome.tabs.query( {active:true}, function(tab) {
        alert (tab.url);
    });

} , false);

我现在真的不明白,tabs.query 也不行。

enter image description here

最佳答案

编辑:抱歉,刚刚意识到您不能在内容脚本中使用 chrome.tabs。您必须向扩展程序的后台页面发送消息才能访问该页面。这是有关消息传递的一些信息:https://developer.chrome.com/extensions/messaging.html .

关于javascript - chrome.tabs.getSelected 在使用 list 版本 2 的最新 Chrome 上未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12227296/

相关文章:

jQuery fadeTo 在 Firefox/Chrome 中不起作用

最小化时的 Android 浏览器 Javascript 事件

javascript - javascript可以从构造函数内部传递自身吗

javascript - ECMA6 中 nameFunction() {} 和 nameFunction () => {} 的区别

html - 不同浏览器的布局问题

带有 DOM 事件处理程序的 Javascript 运算符不起作用

javascript - 我怎么知道 removeEventListener 成功了?

c# - 使用 JavaScript 函数显示日历

在 chrome 中给出不同值的 javascript 代码

javascript - 可以将 AngularJS 用于 Chrome 扩展的选项页面吗?