对于某些情况,我需要使用一段 javascript 加载 jQuery,如下所示:
<script type="text/javascript">
if (typeof jQuery == 'undefined')
{
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>
但我如何知道 JQuery 已完成加载以便我可以使用它。
您必须编写代码来检测何时加载动态加载的脚本,不幸的是,它在某些旧浏览器中的工作方式略有不同,因此它并不像想象的那么简单。这是一篇关于如何做到这一点的很好的参考文章:http://www.ejeliot.com/blog/109 http://www.ejeliot.com/blog/109
以下是该文章中的一些代码:
function loadScript(sScriptSrc, oCallback) {
var oHead = document.getElementsByTagName('head')[0];
var oScript = document.createElement('script');
// make sure callback isn't run more than once
function runCallback() {
if (oCallback) {
oCallback();
oScript.onload = oScript.onreadystatechange = null;
oCallback = null;
}
}
oScript.type = 'text/javascript';
// most browsers
oScript.onload = runCallback;
// IE 6 & 7
oScript.onreadystatechange = function() {
if (this.readyState === 'complete') {
runCallback();
}
}
oScript.src = sScriptSrc;
oHead.appendChild(oScript);
}
或者,您可以使用一个小型库来为您完成这项工作。您可以在此处查看其中一些列表:http://microjs.com/#loader http://microjs.com/#loader。尽管我不确定您是否想要使用另一个库来协助加载您的主库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)