我有一个脚本,我想每10秒注入一个页面。 我使用这段代码:
chrome.tabs.onUpdated.addListener(function(tabId,tab){
chrome.tabs.executeScript(null,{file:"program.js"});
}
);
program.js看起来像这样:
$("body").prepend("Hello World!");
setTimeout(function(){location.reload();},10000);
意思是每10秒页面应刷新一次并注入这段代码,它可以正常工作,但有时候(特别是在运行多个选项卡时)我收到此错误:
Uncaught TypeError: Cannot read property 'onUpdated' of undefined
我猜它没有获得tabId或其他东西 但我无法解决它。
非常感谢帮助。
答案 0 :(得分:1)
我只在chrome.runtime.onMessageExternal.addListener
时遇到了同样的问题,Chrome会抱怨onMessageExternal
。就像@ scott-f指出的那样,这个错误的原因是“滥用'重装按钮。我删除并重新安装了扩展程序,但它确实有效。
事后我建议您使用cli中的--load-extensions='extension/path'
来测试您的扩展程序,以避免浏览chrome菜单的开销,并使用Selenium自动执行测试。< / p>