Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果我使用jquery库和一些插件,我应该将它们全部放在底部,就在_Javascript_Jquery_Css_Performance_Xhtml - Fatal编程技术网

Javascript 如果我使用jquery库和一些插件,我应该将它们全部放在底部,就在

Javascript 如果我使用jquery库和一些插件,我应该将它们全部放在底部,就在,javascript,jquery,css,performance,xhtml,Javascript,Jquery,Css,Performance,Xhtml,如果我使用jquery库和一些插件,我可以将它们全部放在底部,就在前面还是视情况而定 是否有一些情况下库+插件应该放在非底端的非底端 关于如何设置 是的,将其放置在页面底部之前,以获得最快的加载时间 从技术上讲,你可以像Reigel建议的那样把它放在页面的顶部,但是它会锁定整个页面的执行,这很糟糕。最好的办法是并行执行,在加载DOM后,只要将脚本添加为DOM节点即可,如果可能的话,前提是不会弄乱页面: $( function(){ $( 'body' ).append( '<script

如果我使用jquery库和一些插件,我可以将它们全部放在底部,就在前面还是视情况而定

是否有一些情况下库+插件应该放在非底端的非底端

关于如何设置


是的,将其放置在页面底部之前,以获得最快的加载时间

从技术上讲,你可以像Reigel建议的那样把它放在页面的顶部,但是它会锁定整个页面的执行,这很糟糕。最好的办法是并行执行,在加载DOM后,只要将脚本添加为DOM节点即可,如果可能的话,前提是不会弄乱页面:

$( function(){ $( 'body' ).append( '<script src="plugin.js"></script>' ); } );

此外,每周都会有一个关于这个主题的帖子。首先搜索。

据我所知,您应该将JS从头部移动到身体,因为它不会延迟页面呈现本身,而是延迟加载其他外部脚本css。我把它移到了页面的底部,只是为了在查看源代码时很容易找到它。

将所有内容放在底部的真正原因是,要让页面快速呈现

这是一种优化技术,允许您的页面在加载所有内容之前显示在浏览器中,如果您将所有javascript放在顶部,页面将一直显示为空白,直到加载完脚本,用户将感觉您的站点非常缓慢,可能会离开

所以,不管你把它放在哪里,它仍然可以工作,不同的是你让你的访问者看到一些内容,甚至在所有javascript加载之前点击一个链接


@Dan Beam:将css放在底部,可能会以一种奇怪的方式显示页面的第一次呈现,因为css尚未加载。

请参阅此链接,解释您这样做的原因?我想看看你的推理,就像雅虎!不同意,他们可能是对的-1通常认为最好的做法是将javascript放在页面底部body标记的末尾之前,而不是head标记中。原因是浏览器在执行javascript时无法继续加载其他资源。你通常希望在运行javascript之前呈现html和所有图像等。不过,我觉得jQuery的文档有误导性,因为他们在他链接的页面上是这么说的。他们真可耻。@Reigel:是啊,因为听从错误的建议而受到惩罚真糟糕;即使是jQuery文档给出了这样的次优建议-来自我的0。我进行了搜索,但未找到任何关于jquery的好问题。我的问题只涉及jquery和插件。我的问题是我能把所有的都放在底部吗?然后我有一个问题,为什么现在很多页面仍在使用这种蹩脚的脚本放置方式@雷格尔:因为很多人不知道有一个可测量的差异,因为我们一直都是这样做的。很多使用lame方法完成的页面仍然不能使该方法成为非lame方法。好吧,在我看来,是的,最佳实践是优化,但这仍然取决于你在页面上的用户是谁,当你仍然可以生活在其中时,为什么要遵循你的惯例?甚至google.com的头标签上也有一些脚本。我想这只是一个平衡的问题。但是建议在页面加载之前添加sifr 3 js和css,以呈现sifr文本。我不完全确定这一点,但在sifr 3的情况下,可能是因为它需要在文本替换中设置flash所需的变量。我快速阅读了代码,看起来它是在document onload事件中初始化的,所以无论哪种方式,在加载所有脚本之前,文本都不会被替换。是的,应该可以。试着把它放在顶部,一旦你让它工作,试着把它放在底部,看看它是否工作。重要的是,您了解位置之间的差异以及它如何影响页面呈现,因此您知道如何调整页面以满足您的需要。
$( function(){ $( 'body' ).append( '<script src="plugin.js"></script>' ); } );