切换Chrome扩展程序中的URL

时间:2014-09-28 14:30:50

标签: google-chrome debugging url google-chrome-extension

前言:我是这个人的初学者。

我正在尝试制作一个扩展名,用预定义的网址替换当前标签网址。到目前为止,我有以下内容:

    chrome.tabs.getSelected(null, function(tab){
      chrome.tabs.update(tabs.id, {url: "https://www.wikipedia.org/"});
    });

chrome app开发人员工具告诉我“标签未定义”,但我的清单权限中有“标签”。清单:

"permissions": [
    "tabs",
    "declarativeContent",
    "https://www.wikipedia.org/"
],

"background": {
    "scripts": ["background.js"],
    "persistent": false
},

"browser_action": {
    "default_icon": "icon-19.png",
    "default_title": "Simple-Switch"
}

1 个答案:

答案 0 :(得分:2)

权限不声明您可以使用的变量(就像有“var tabs”);它们定义了允许使用的功能(在这种情况下,您可以调用chrome.tabs中的函数)。

您的问题是您的回调采用tab参数,但您使用变量tabs。因此“标签未定义”。所以最简单的修复方法是function(tabs)。但您也应该使用tabs.query而不是已弃用的tabs.getSelected

chrome.tabs.query({active:true,currentWindow:true}, function(tabs){
    chrome.tabs.update(tabs[0].id, {url: "https://www.wikipedia.org/"});
});

您还可以将tabs权限更改为activeTab