我在使用greasemonkey脚本,它会在页面中注入一段代码。该代码然后使用以下内容创建指向第三方源的脚本标记:
function injectThis(){
var s = document.createElement("script");
s.src = "http://site.com/file.js";
s.head.appendChild(s);
// other code to be executed once the above file has finished downloading
}
在脚本的检索和处理完成之前,是否有办法制作引擎块?
几点说明:
1:同步xhr是不可能的b / c它是跨域的
2:由于我正在处理的脚本的目的,gm_xhr是不可能的
3:在file.js中添加事件/回调以指示加载不是解决方案,原因相同#2不是
答案 0 :(得分:1)
为什么不听脚本标签的onload
,然后再点击你的其他东西?
如果您需要旧的IE支持,您还可以收听onreadystatechange
。
导致同步加载的唯一方法是使用.innerHTML
或更糟糕的document.write
。
更好的方法是设置script.onload = function () { callOtherStuff(); };
。