Mos*_*rdy 6 javascript jquery google-chrome google-chrome-extension
我目前正在开发Chrome扩展程序,Github上提供了源代码.目标是将自定义Javascript注入网页.
目前,我将每个自定义Javascript Inject存储在localStorage中,并从内容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);
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
我想在文档加载之前准确运行Inject脚本 .但是使用提出的方法,控制将通过并且不会等待获得响应.因此,将在页面加载的中间执行.我该如何解决这个问题,这样我才能在页面加载之前注入?chrome.extension.sendMessage
injects
eval(js);
在 Chrome 中,每个选项卡都在自己的进程中运行。后台页面在扩展进程中运行,该进程与您挂钩的选项卡之一不同。所以恐怕不可能有真正同步的解决方案。
即使使用chrome.storage(没有来源限制,因此不需要背景页面)也会是异步的。
但这里有一个适用于大多数页面的解决方案:
归档时间: |
|
查看次数: |
4063 次 |
最近记录: |