作为JavaScript在块HTML呈现,这是好的做法保持JavaScript在底之前关闭体标记,是它没有的情况下与CSS还?

我知道我们不能让外部CSS外。

有帮助吗?

解决方案

CSS不以相同的方式阻止JavaScript并

要报价雅虎开发者网络博客

  

使用样式表,渐进式渲染被阻塞,直到所有的样式表已经下载。这就是为什么它是最好的样式表移动到文件头,让他们可以优先下载和渲染不会被阻断。使用脚本,渐进式渲染被阻塞的所有内容的以下该脚本。移动脚本作为低在页面尽可能装置还有所呈现越早脚本以上更多的内容。

另外,当CSS被添加到头部中,首先解析,结果在HTML,即使它被下载被样式。这避免了闪存如果你把风格标签在HTML的大页面的底部出现这种情况无样式内容。

其他提示

不仅CSS不能阻止JavaScript并的方式,但如果你把CSS的任何地方,但<head>,就像忽略它,或不完全适用,也有些浏览器会做奇怪的事情。 HTML5实际上出现外<style>(除与“范围的”特征,这没有人AFAIK还器具)禁止<head>

CSS样式表所使用的<link>元件装载,该元素是唯一有效的,当它是在该文件的头部。至于CSS阻止HTML渲染,这种情况并非如此,因为一旦浏览器被加载就像其他<link>元素应用CSS。 JS块HTML,因为浏览器假定JS要完全加载DOM之前采取控制和实际做的东西,基本上都是JS执行,然后独自离开。

想一想,如果CSS加载一样JS,没有元件会风格,因为它会被参照尚未装载的元件,因此它是继施加,并不会阻止加载。

没有,CSS是适用于DOM元素右侧的浏览器读取的CSS之后。

在JavaScript的情况下,你可以在读写剧本,因为你让它运行所有的HTML加载后,如:

window.onload = function (){

//here we start
}

JS

由于JS可以改变你的网页(修改DOM)浏览器等待所有外部JS被下载的(平行),解释和执行之前继续与其他HTML来后 <script src="..." > 因此这是一个良好做法把所有的外部JS在底部的 <body>.这样你HTML得到分析并呈现和你的用户有一种感觉,事情正在发生...

CSS

CSS另一方面不能改变DOM,不能做任何"重型"的修改页面上的,这就是为什么浏览器不阻止下载,分析其他HTML,并逐步呈现为是情况下,与JS。看来,它不会阻止渲染,但是最好还是把它放在顶部和避免长 无样式内容闪烁的影响 .它不会阻止下载,不过

现在,似乎与移动设备的兴起把你的CSS到你 HEAD JS在底部没有足够的...你会想要放烟酒枪支弹药管理局(倍以上)CSS内联和你的余巨大最小化CSS与你一起JS-在底部/defered和异步

看一下这个: http://addyosmani.com/blog/detecting-critical-above-the-fold-css-with-paul-kinlan-video/

为什么会是一个很好的做法,以保持的Javascript底部?

我说,这是最好的做法,以使用<head>部分放在不同的文件中CSS以及JavaScript和它们包含在HTML文档中

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top