chrome.tabs.getSelected在使用清单版本2的最新chrome上未定义?

时间:2012-09-01 11:23:40

标签: linux google-chrome javascript-events

我正在尝试创建一个使用chrome.tabs.getSelected来查找当前网址的插件

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

清单文件:

{
    "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版本:Version 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

1 个答案:

答案 0 :(得分:1)

编辑:抱歉,我们发现您无法在内容脚本中使用chrome.tabs。您必须向扩展程序的后台页面发送消息,以便访问该扩展程序。以下是有关消息传递的一些信息:https://developer.chrome.com/extensions/messaging.html