我最近看到一些使用这种模式的网站:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
$(function (){...do some stuff with plugins...});
</script>
</head>
<body>
<script src="myplugin1.js"></script>
<script src="myplugin2.js"></script>
<script src="myplugin3.js"></script>
</body>
</html>
这让我想到了一些陷阱:
Question #1
document.ready
解析插件(JS)后引发未执行的事件。
它在dom结构完成时执行。(注意:我没有说:“当所有资源都已下载”!)
因此,可能存在document. ready
函数将尝试使用尚未完全下载的插件变量的情况。(这将导致错误)。
我对吗 ?
Question #2 这导致我: 在脚本引用位置之前“从不使用 document.ready” (我的意思是:在 document.ready 依赖于那些脚本变量的情况下)。
我对吗 ?
ps我不是在谈论window.load,它显然会在这里工作,但我将不得不等待更长的时间。