2012-07-25 107 views
0

我有这样一段代码在我background.js:您在Chrome扩展加载网页

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) { 
    if (changeInfo.status == 'complete') { 
     chrome.tabs.executeScript(null, {code:"alert('Loaded');"}); 
    } 
}); 

这应该每一个页面加载时间给我一个警告,但它没有..

回答

2

检查清单文件的tabs权限。还使用tabId上executeScript

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) { 
    if (changeInfo.status == 'complete') { 
     chrome.tabs.executeScript(tabId, {code:"alert('Loaded');"}); 
    } 
}); 

如果这样做不能解决您的问题,给我更多的细节。

+1

+1可能是缺少'tabs'权限的问题。当使用'null'而不是'tabId'时,警报将仍然显示在当前活动选项卡中。另一个可能的原因是后台脚本中存在(语法)错误,从而导致脚本无法运行。要调试背景页面,请访问'chrome:// extensions /',启用'Developer mode',然后在您的扩展中单击'background.js',打开开发人员工具(在后台脚本的上下文中运行) 。 – 2012-07-25 20:55:33

+0

谢谢,它在我将null更改为tabId时起作用。该标签权限已被设置 – Gumble 2012-07-28 10:26:21

相关问题