检查JavaScript文件是否已加载

5
2个回答

11
在你的HTML中,你可以像这样做:
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  <script>!window.jQuery && document.write('<script src="js/jquery-1.4.2.min.js"><\/script>')</script>

这个示例从Google CDN加载jquery,如果失败则会回退到本地副本。

感谢HTML5 Boilerplate展示了这个技巧。


对于UI和验证,做同样的事情,检查$.ui或$.validate。 - scottm
谢谢你们两位。Scottm - $.ui可以检查是否加载了UI JavaScript,但不幸的是$.validate不能。有什么建议可以用来检查验证插件吗? - amateur
有人知道如何检查验证插件是否已加载吗? - amateur
1
我认为你可以检查 jQuery.fn.myPlugin 是否存在,如果它没有从外部源加载,则从本地副本获取它。所以对于你的情况,代码可能是这样的:<script>!window.jQuery.fn.validate && document.write('<script src="js/jquery.validate.min.js"></script>')</script> - Rajat
有没有一种快速简便的方法来集成到这个https中 - 这样如果网页在https中,cdn将会更改其url为https? - amateur
@Niall,是的!你可以使用类似这样的代码:<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> 你可以在这里阅读更多信息:http://paulirish.com/2010/the-protocol-relative-url/ - Rajat

3

YepNope.js 是一个更强大的解决方案,用于加载资源(例如js文件),检查它们是否已经加载并在必要时提供备选项。这只是该库提供的众多功能之一。


这个资源链接已经失效了... 你能否请更新一下它? - Hussein Al-Mosawi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接