这就是我想要做的。
<script type="text/javascript" src="resources/application.js"></script>
<script type="text/javascript" >
$(document).ready(createHeader());
$(document).ready(scriptSet());
</script>
我希望避免将两者分开,虽然我通常只在头文件中看到脚本链接,但document.ready函数放在那里时似乎不起作用。然而,当放置在身体的末端时,一切似乎都工作得很好,那么这会引起什么问题吗?
发布于 2011-07-27 02:24:34
从功能上讲,只要你把你的代码封装在一个$(document).ready(function(){ });
和中,它出现在jQuery文件包含的之后,它不会,不管它是在head
还是body
中。$(document).ready
确保在执行任何脚本之前完全加载DOM。
然而,,把你所有的脚本包括和脚本放在body
的底部是加载性能的最佳。
This article explains it nicely.
示例:
<body>
<!-- MY HTML CODE -->
<!-- START javascript -->
<script type="text/javascript" src="/javascript/jquery/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="/javascript/jquery/plugins/jquery.random_plugin.js"></script>
<script type="text/javascript" src="/javascript/jquery/plugins/jquery.random_plugin2.js"></script>
<script type="text/javascript" src="/javascript/some_other_scripts.js"></script>
<script type="text/javascript" language="JavaScript">
//<![CDATA[
$(document).ready(function(){
// my code
});
//]]>
</script>
<!-- END javascript -->
</body>
发布于 2011-07-27 02:05:06
在正文中有脚本标记是没有问题的。请记住,页面是自上而下解析的,因此在使用脚本之前必须包含脚本。
发布于 2011-07-27 02:05:16
不,事实上,把你的脚本放在HTML的末尾对“性能”有好处。
还有一个好的做法是将所有的javascript放在另一个文件中,如果可能的话,只要设置一个头来调用它,甚至可以压缩文件。
现在,我将为此更改代码
$(document).ready(function(){
createHeader();
scriptSet();
});
因此您不会调用$(document).ready两次:)
https://stackoverflow.com/questions/6838689
复制相似问题