Tho*_*hom 7 javascript jquery document.write
从源码加载jQuery
我喜欢做的是删除我的本地jquery.js并将其托管在其他地方.但是,如果谷歌垮台怎么办?因此,如果jQuery"仍未"加载,那么让我们编写一个使用其他源代码的后备代码...
我做了这个测试用例,但它似乎不起作用,也许有人可以帮助我:
这很好用(来自HTML5 Boilerplate):
<!-- Grab Google CDN's jQuery. fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.4.2.js"%3E%3C/script%3E'))</script>
Run Code Online (Sandbox Code Playgroud)
如果您使用 Firebug 并查看 jQuery 的加载位置,您可以看到 Google 已成功加载它。为什么它似乎不起作用?因为请求是异步的,并且当您的脚本同步运行时,它会在加载第一个脚本之前执行所有步骤。
所以:
等等等等
您应该做的是附加到onLoad
脚本加载元素的事件,并在加载后检查 jQuery。
与向互联网上的某个服务器发送请求并获取结果进行处理相比,脚本的执行速度快如闪电。
正如我所读到的,使用这种技术检测 404 会遇到问题。建议的方法是使用 Ajax (XHR),然后附加脚本元素并向其中添加收到的内容。对于所有浏览器来说,这将是最可靠的方法。