我有遗留网络应用程序的情况,我无法从 HTML 标记中的脚本标记加载 jquery.min.js..所以我必须加载它在另一个现有脚本文件中使用一些 js
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
script.type = 'text/javascript';
head.appendChild(script);
问题是..当包含加载很慢时..有jQuery函数 (也在页面上动态加载)尝试运行但找不到 jQuery
在 jquery.min.js 包含文件从 CDN 下载完成后,是否有一些跨浏览器的方法可以在上面的代码中调用 jQuery 就绪函数进行回调?谢谢,
编辑:
使用 Mike 的代码,这适用于几乎所有浏览器的 onload IE 8 或更早版本.. 以及其他需要 onreadystatechange 我猜的浏览器
JSFIDDLE HERE:
最佳答案
尝试
if(script.onreadystatechange)
script.onreadystatechange = function()
{
if(script.readyState == "complete" || script.readyState=="loaded")
{
script.onreadystatechange = false;
console.log("complete");
}
}
else
{
script.onload = function()
{
console.log("complete");
}
}
关于javascript - 如何在从另一个脚本文件加载 JS 时执行成功回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8441372/