Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果未加载,则加载jQuery-失败的方法_Javascript_Jquery_Html - Fatal编程技术网

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"));