【发布时间】:2013-03-05 17:19:34
【问题描述】:
这就是我所拥有的:
<script src="myscript.js" type="text/javascript"></script>
<script type="text/javascript">testfunction("hello");</script>
在 myscript.js 中:
if(!window.jQuery)
{
var script = document.createElement('script');
script.type = "text/javascript";
script.src = 'jquery-1.9.0.min.js';
document.getElementsByTagName('head')[0].appendChild(script);
}
function testfunction(str) {
$(document).ready(function () {
alert(str);
});
}
当然,当前的测试函数不需要 jQuery,但它会是必需的。使用这种方法,当调用 testfunction() 时,jQuery 被下载但不加载到浏览器(Uncaught ReferenceError: $ is not defined)。
我可以做的是在加载我的 JS 之前在不同的脚本中加载 jQuery。在这种情况下,它会起作用,但我会拥有三个不同的脚本,老实说,这似乎并不优雅。
还有其他方法可以实现吗?
谢谢!
【问题讨论】:
-
只要先用 jQuery 添加脚本标签,然后再添加依赖 jQuery 的脚本,它应该可以开箱即用,没有任何技巧?
-
只需以“正常”方式添加脚本。它比任何动态加载它的尝试都优雅得多。
-
我不想为用户加载 jQuery 两次(这是嵌入到另一个网页中的 JS,这对我来说是失控的,这就是为什么我要检查网页是否强制用户已经加载 jQuery)。
标签: javascript jquery html