Javascript 如果未加载,则加载jQuery-失败的方法
这就是我所拥有的:Javascript 如果未加载,则加载jQuery-失败的方法,javascript,jquery,html,Javascript,Jquery,Html,这就是我所拥有的: <script src="myscript.js" type="text/javascript"></script> <script type="text/javascript">testfunction("hello");</script> 当然,当前的testfunction不需要jQuery,但它是必需的。使用这种方法,调用testfunction()时,jQuery会被下载,但不会加载到浏览器中(未定义uncaught
<script src="myscript.js" type="text/javascript"></script>
<script type="text/javascript">testfunction("hello");</script>
当然,当前的testfunction不需要jQuery,但它是必需的。使用这种方法,调用testfunction()时,jQuery会被下载,但不会加载到浏览器中(未定义uncaughtreferenceerror:$)
我可以做的是在加载JS之前,在不同的脚本中加载jQuery。在这种情况下,它将工作,但我会有三个不同的脚本,这似乎是不优雅的,在我诚实的意见
有没有其他方法可以做到这一点
谢谢 您可能想看看这个。它可能不会等待jQuery完全加载。使用您的代码,脚本将异步加载。您需要向脚本标记添加一个onload事件,该事件将触发依赖于jQuery的部分 如果希望以同步方式加载脚本,请使用
document.write
:
window.jQuery||document.write(unescape("%3Cscript src='"+jQueryURL+"' type='text/javascript'%3E%3C/script%3E"));
document.write
技术非常常见,请记住,在加载文档后不能使用它(否则它将覆盖整个页面)
如果您想在更大范围内使用动态加载,请查看现有的加载程序或AMD库。只需先用jQuery添加脚本标记,然后添加依赖于jQuery的脚本,它应该可以在没有任何技巧的情况下立即运行?只需以“正常”方式添加脚本即可。它比任何动态加载的尝试都要优雅得多。我不想为用户加载两次jQuery(这是嵌入到另一个网页中的JS,这对我来说是失控的,这就是为什么我要检查网页是否已经强迫用户加载jQuery)。
window.jQuery||document.write(unescape("%3Cscript src='"+jQueryURL+"' type='text/javascript'%3E%3C/script%3E"));