大家晚上好,
我正在开始Chrome扩展程序,在某种情况下,我需要重定向(更改URL)用户的标签。
这是我的代码
function changeTabURL(tabName,addr) {
var tabId=parseInt(localStorage.getItem(tabName)); //fetch tab ID
chrome.tabs.update(tabId,{"url":addr});
}
现在正是这里发生的事情,Chrome:// ......我的网址正在添加! 假设我尝试将标签重定向到“http://www.google.com”,就会发生这种情况:
“找不到网址的网页:chrome-extension:// oihdngeahhchnacpilhnmaknneooabbc / http://www.google.com”
我无法动摇这个!我已尝试首先重置网址
chrome.tabs.get(tabId,function(tab) {
tab.url='';
alert(tab.url);
});
chrome.tabs.update(tabId,{"url":addr});
}
我没有做什么动摇这个。
有什么想法吗?
答案 0 :(得分:2)
由于您已经在使用chrome.tabs API,因此您可能需要尝试使用chrome.tabs.query来查找活动选项卡并以此方式获取它的ID。这是一个例子:
queryInfo = new Object();
queryInfo.active = true;
chrome.tabs.query(queryInfo, function(result) {
var activeTab = result[1].id;
updateProperties = new Object();
updateProperties.url = 'YOUR_URL_HERE';
chrome.tabs.update(activeTab, updateProperties, function() {
// Anything else you want to do after the tab has been updated.
});
});
答案 1 :(得分:0)
您是否在manifest.json中设置了这样的权限:
"permissions": [
"notifications",
"contextMenus",
"tabs",
"contentSettings",
"http://*/*",
"https://*/*"