我目前正在开发 chrome 扩展程序,源代码可在 Github 上找到。目标是将自定义 Javascript 注入网页。
目前,我将每个自定义 Javascript Inject存储在localStorage并从content scipts调用它们。我已将run_at设置为document_start。
我使用它来从后台脚本获取存储的注入:
chrome.extension.sendMessage({method:"get_injects"},function(injects){
for(index in injects){
if(/^items\./.test(index)){
itemJSON = injects[index];
//if(window.location.host.toString().indexOf(itemJSON.url)){
if(window.location.host.toString().match(itemJSON.url + '$')){
var js = itemJSON.js.toString();
eval(js);
}
}
}
});
问题
我想在文档加载之前运行注入脚本。 但是使用提出的方法,控制将通过并且不会等待得到响应。因此,将在页面加载的中间执行。我该如何解决这个问题,以便我能够在页面加载之前注入?chrome.extension.sendMessage
injects
eval(js);