【发布时间】:2014-11-27 05:52:44
【问题描述】:
我实际上想通过更复杂的 URL 重写来使用它,但为了简单起见,我现在想完成一些更基本的事情。因此,如果我在 https://www.google.com 上并单击扩展程序的按钮,我希望它打开一个带有 http://www.google.com/images 的新标签
我发现了有关获取 URL 和打开新选项卡的单独问题,但我找不到任何关于将两者结合起来的问题。
这就是我现在拥有的:
manifest.json:
{
"manifest_version": 2,
"name": "Rewrite",
"version": "0.1",
"browser_action": {
"default_icon": "icon.png"
},
"background": {
"scripts": ["background.js"],
"persistent": false
},
"permissions": ["https://*/*", "http://*/*", "tabs"]
}
background.js:
var currentURL;
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
currentURL = tabs[0];
});
chrome.browserAction.onClicked.addListener(function(activeTab) {
var newURL = currentURL + "/images";
chrome.tabs.create({ url: newURL });
});
我尝试了各种形式的这种方法,例如将 chrome.browserAction.onClicked.addListener 块嵌套在 chrome.tabs.query 块内,反之亦然,但似乎都不起作用。
在当前版本中,标签页打开,但 URL 是 chrome-extension://bffolfmjagnpglbmjkgajodjlfpekaeo/[object%20Object]/images 并出现“找不到网页”错误。
【问题讨论】: