是否会在正文中而不是在标题中链接javascript文件会导致问题?

这就是我想要做的事情

  $(document).ready(createHeader()); $(document).ready(scriptSet());  

我希望避免将两者分开,虽然我通常只在标题内部看到脚本链接,但是文件.ready函数在放在那里时似乎不起作用。 然而,当放置在身体的末端时,一切似乎都完全正常,所以这会导致任何问题或者这很好吗?

从function上讲,只要将代码括在$(document).ready(function(){ }); 它是 jQuery文件包含之后,无论是在head还是在body都没关系。 $(document).ready确保在执行任何脚本之前完全加载DOM。

但是 ,将所有脚本包含和脚本放在body的底部适合加载性能。

这篇文章解释得很好。

例:

            

在正文中使用脚本标记没有问题。 请记住,页面是自上而下解析的,因此必须在使用之前包含脚本。

你确实意识到你放在$(document).ready()中的函数不会等待DOMContentLoaded触发吗? 您必须将它们包装在函数调用(事件处理程序)中,以避免在它们出现在代码中时立即调用它们。 匿名函数通常很好。

 $(document).ready(function(){ createHeader(); scriptSet(); }); 

我已经部署了许多Web应用程序,并且从未遇到过body标签中的脚本问题。 我喜欢将它放在页面的末尾,以免妨碍页面上可见元素的下载进度。 我相信谷歌也已经用他们的一些脚本(也许是分析?)来做到这一点。

就像其他一些人所说的那样,确保你在$(document).ready()之前有你的jQuery引用; 呼叫。 它很容易滑过,很难排除故障:)

JMAX

事实上,Nop对于将脚本放在HTML末尾的“性能”很有帮助。

仍然是一个很好的做法是将所有javascript都放在另一个文件中,并设置一个标题来调用它,如果可能甚至压缩文件。

现在,我会改变这个代码

 $(document).ready(function(){ createHeader(); scriptSet(); }); 

所以你不要再调用$(document).ready两次:)

如果将脚本include和块放在BODY元素中,通常无关紧要; 在大多数情况下,它们会完美运行。 有些人认为这是一种不好的做法,但这不是一种错误的做法。 它一直在发生。

但是,我想指出,只要在jQuery包含之后放置$.ready()函数调用就没关系,因为它总是在DOM准备就绪后运行(这将发生在AFTER之后)页面加载)。 所以,在这种情况下,它没有任何区别。

注意函数调用中的匿名函数。 这为匿名函数传递$.ready()的引用,允许它的函数体稍后执行,因此稍后会调用你的函数。