Javascript 非阻塞样式表可缩短页面加载时间
我正在尝试优化网站的页面加载时间。现在我已经实现了Google PageSpeed Insights给我的几乎所有建议。但是,它一直建议使用非阻塞样式表,以便在加载样式表(使用内联CSS)之前可以呈现上面的折叠内容: 消除折叠内容上方的渲染阻塞JavaScript和CSS。 你的页面有X块CSS资源。这会导致页面呈现延迟 您页面上的折叠内容中,大约有Y%是 在不等待加载以下资源的情况下呈现。尝试 延迟或异步加载阻塞资源,或内联 这些资源的关键部分直接放在HTML中 它指的是关于应该如何做的问题。基本上:Javascript 非阻塞样式表可缩短页面加载时间,javascript,css,html,cross-browser,seo,Javascript,Css,Html,Cross Browser,Seo,我正在尝试优化网站的页面加载时间。现在我已经实现了Google PageSpeed Insights给我的几乎所有建议。但是,它一直建议使用非阻塞样式表,以便在加载样式表(使用内联CSS)之前可以呈现上面的折叠内容: 消除折叠内容上方的渲染阻塞JavaScript和CSS。 你的页面有X块CSS资源。这会导致页面呈现延迟 您页面上的折叠内容中,大约有Y%是 在不等待加载以下资源的情况下呈现。尝试 延迟或异步加载阻塞资源,或内联 这些资源的关键部分直接放在HTML中 它指的是关于应该如何做的问题。
<html>
<head>
<style>
.blue{color:blue;}
</style>
</head>
<body>
<div class="blue">
Hello, world!
</div>
</body>
</html>
<link rel="stylesheet" href="small.css">
.blue{颜色:蓝色;}
你好,世界!
虽然我从来没有在HTML标记之外看到过指向样式表标记的链接,但我使用这种策略更改了我的网站
然而,Google PageSpeed insights的在线版本仍然抱怨样式表。更奇怪的是,类似的浏览器插件(针对Chrome的PageSpeed Insights)说:
从文档的主文本中删除内联样式块和元素并将其放在标题中时,显示性能将得到改善
现在我的问题是:
- 哪一个是正确的?(从搜索引擎优化的角度来看,当然也从用户体验的角度来看)
- 有没有别的办法让他们俩都满意?(如果HTML5和JavaScript解决方案是跨浏览器的,并且do提高页面加载时间,则可以接受它们)
然后,在加载第一个样式表之后,您可以创建第二个样式表来加载,并且可以删除关于css的错误。我建议您优先考虑在线PageSpeed Insights的可能最高分数,如果可能的话,将其设置为100/100,如下所示。这将使你的页面参与谷歌搜索排名,因为页面速度得分是SEO因素之一 除非找出CSS的哪一部分用于页面的编辑,否则没有其他解决方案。一旦你知道了这一点,你就应该在你的HTML头中添加这个CSS,然后懒洋洋地加载你的CSS的其余部分 然后,只要分数以及每个重要方面(如和)的验证得到保持,您就可以找到将影响降至最低的任何解决方案
]我认为在样式表中使用“AJAX”不会有帮助,甚至不会起作用,因为这意味着这些样式将在事后应用。在我的书中,将link标记放在html标记之外肯定是不对的。愚蠢的问题,但是如果你不需要当前页面的样式,为什么你要在这里加载样式表呢?另外,影响页面加载时间的第一个因素是请求的数量,这意味着如果可能的话,更容易的解决方案是组合样式表。@oliakoil我完全同意。尽管我的样式表已经以任何其他方式进行了组合和优化,但我仍然希望摆脱谷歌的建议(为了提高搜索引擎优化)。对不起,我应该提前问一下,错误消息的确切文本是什么。还有,你浏览过这个吗@这是一个有趣的问题,但答案并没有真正说明样式表。我已经添加了来自这两种产品的建议/错误消息。