我正在发现如何开发Chrome扩展程序,但实际上找不到如何更改活动网址。我想从网站上获取信息并打包。
实际上,此代码的前几行有效。我尝试了其他方法来更改url,找不到正确的方法...
$("body").css('background-color', 'pink');
$("body").html('COUCOU');
setTimeout(function(){
var myNewUrl = "http://www.google.com";
chrome.tabs.update(active, {url: myNewUrl});
}, 2000);;
我的清单是:
{
"name": "A browser action with a popup that changes the page color",
"description": "Change the current page color",
"version": "1.0",
"permissions": [
"activeTab", "tabs"
],
"browser_action": {
"default_title": "Set this page's color.",
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"content_scripts": [ {
"js": [ "jquery.js", "background.js" ],
"matches": [ "http://*/*", "https://*/*"]
}],
"manifest_version": 2,
"content_security_policy": "script-src 'self' https://ajax.googleapis.com; object-src 'self'"
}
有人可以帮助我吗?
答案 0 :(得分:0)
让我们看看tabs.update
方法in the docs的签名:
chrome.tabs.update(integer tabId, object updateProperties, function callback)
整数(可选)
tabId
默认为当前窗口的选定标签。对象
updateProperties
[...]
由于您需要当前(选定)标签,因此只需省略 tabId-它被标记为可选。
chrome.tabs.update({url: myNewUrl});
从内容脚本来看,情况有所不同。您don't have access to chrome.tabs
API。
但是您可以简单地更改document
的属性,因为您已经处于活动页面的上下文中:
document.location = myNewUrl;