Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

异步加载jQuery产生的BUG

  一般情况下我们正常加载jQuery都不会出现什么问题的,但是由于最近使用上了preload.js,把几乎所有模块都异步加载了,这就产生了一个BUG。如果jQuery在DOMContentLoaded之后加载,那么jQuery自带的ready事件就需要等到整个页面load之后才能触发。
  下面的例子是异步加载jQuery,注意这些事件触发的顺序。 <script src="http://code.jquery.com/jquery-1.10.2.min.js"
        async="async" id="script"></script>
<script>
script.onload=function(){
  $(function(){
    console.log("jQuery ready")
  });
};
addEventListener("DOMContentLoaded",function(){
  console.log("DOMContentLoaded")
});
addEventListener("load",function(){
  console.log("window load");
});
</script>

  如果在页面上多引用一张加载很慢的图片就更明显,它会拖慢onload。比如上面的代码加上 <img src="test.php" />   这个test.php的内容是 sleep(5);   于是。。。我就不截图了,这也不好截,大概的猜到什么结果了吧。至于解决方法呢,自己实现个ready不要依赖jQuery提供的ready即可,这东西也不难吧。。
网名:
34.203.213.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^