function doit() {
alert(3);
// Statement 1
// chrome.tabs.create({url:"http://www.google.com"});
// Statement 2
// chrome.tabs.update({url:"http://en.wikipedia.org"});
alert(4);
}
chrome.browserAction.onClicked.addListener(doit);
当脚本按原样运行时,我收到3和4的JS警报。确定。
当我在语句1中发表评论并运行脚本时,我得到一个3级的JS警报 谷歌在一个新的,活动的标签页面中打开,然后我得到了一个4的JS警报。正如预期的那样。
当我在声明1中注释掉声明1并发表评论时,我得到了一个3的JS警报, 就是这样。
根据http://code.google.com/chrome/extensions/tabs.html#method-update, 我不需要传递tabId对象,因为它“默认为当前窗口的选定选项卡”。正如我所注意到的,url对象被定义为“用于导航选项卡的URL” 当我在语句1中运行chrome.tabs.create时。
为什么我的chrome.tabs.update语句不起作用?
答案 0 :(得分:5)
必须指定tabId
参数。如果要使用默认设置,请提供 null
。否则,会发生以下错误:
'browserAction.onClicked'事件处理程序出错:错误:参数1的值无效。预期'整数'但得到'对象'。
此消息记录在后台页面。要访问此控制台,请按照this answer中的四个步骤操作。
更正后的代码: chrome.tabs.update(null, {url:"http://en.wikipedia.org"});
答案 1 :(得分:0)
您必须告诉它要更新哪个标签(tab.if)。
chrome.tabs.update(id,{url:"http://en.wikipedia.org"});