我正在尝试创建我正在创建的Chrome扩展程序(打算在第三方网站上自动填写表单 - 我知道你的想法,不是垃圾邮件,不是)。因此,当我尝试使用executeScript将JS注入此页面时,它永远不会调用回调函数。这是代码:
too
第二个function doStepPopup () {
console.log ("Step "+step+" begins");
debugger;
var tab = curTab;
chrome.tabs.executeScript (null, {
file: "extfiller.js"
}, function () {
debugger;
console.log ("Script injected for step "+step);
.........
}
doStepPopup ();
函数和debugger
以及所有后续代码永远不会执行。有什么想法吗?提前致谢!抱歉我的英语......
答案 0 :(得分:1)
chrome.tabs.executeScript
会在document_idle处注入,因此它可能无法在某些奇怪的页面上运行,这些页面由于某种原因而保留在" busy"状态。
解决方案:强制立即执行runAt: 'document_start'
:
chrome.tabs.executeScript (null, {
file: 'extfiller.js',
runAt: 'document_start'
}, function(results) {
console.log(results);
});