我做了一个简单的扩展,并且我希望我的当前标签被重新定位到一个新的loaction,但这段代码对我不起作用:
function redirect() {
console.log("HELLO");
chrome.tabs.getSelected(null, function(tab) {
var currentURL = tab.url;
if(currentURL == "http://example.site/"){
chrome.tabs.create("http://newlocation.site/",tab);
alert("redirected");
}
});
}
chrome.browserAction.onClicked.addListener(redirect);
无论如何,我无法谷歌搜索选定标签的属性信息。有没有tab.url
喜欢“命令”?我的意思是,tab.reload()..依此类推......
答案 0 :(得分:1)
修复当前代码后,当前标签与给定网址匹配时,系统会创建一个新标签。
chrome.tabs.create(object createInfo, function callback)
是正确的签名。注意:chrome.tabs.getSelected
is deprecated赞成chrome.tabs.query
。
chrome.tabs.create({url: "http://newlocation.site/"});
此代码按预期工作(后台脚本):
function redirect() {
console.log("Querying...");
chrome.tabs.query({active: true}, function(tabArray) {
var currentURL = tabArray[0].url;
// For debugging purposes:
console.log(currentURL);
if (currentURL == "http://example.site/") {
// The next line is the important change
chrome.tabs.create({url: "http://newlocation.site/"});
alert("redirected");
}
});
}
chrome.browserAction.onClicked.addListener(redirect);
如果您不想创建新标签页,但更改当前标签页的网址,请使用update
代替create
:
chrome.tabs.update(tabArray[0].id, {url: "http://newlocation.site/"});