我正在加载jquery,因为没有遇到pagespeed的问题。但是现在可能会发生我的脚本在加载jQuery之前执行的内容。这会导致像jQuery函数未定义的错误。如何确保加载jQuery?
答案 0 :(得分:1)
您没有显示您用于加载jQuery延迟的代码,但是如果您想以这种方式加载它,那么您必须通过某种onload触发任何使用jQuery的代码在jQuery成功加载时调用的回调。
所有在页面加载时使用jQuery的代码都必须最初从这个onload处理程序调用的东西中调用。直到加载jQuery之后,你才能直接使用$(document).ready()
。
如果您包含用于加载jQuery的代码,我们可以更具体地了解如何知道它何时加载。有些库可以为您处理,但是自己编写代码也不是很多代码。
例如,如果您使用defer
标记中的<script>
属性并且使用IE9或更高版本即可,则可以执行以下操作:
<script>
function jQueryLoaded() {
// put your page initialization code that uses jQuery here
// or call some other functions that do your page initialization
}
</script>
<script defer="defer" onload="jQueryLoaded()" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
如果您希望跨浏览器兼容性比IE9更进一步,那么您应该动态添加脚本标记,以便可以使用readystatechange
事件处理程序在旧版本的IE中监视它。有关详细信息,请参阅this post中的loadScript()
功能。