Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.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 非阻塞样式表可缩短页面加载时间_Javascript_Css_Html_Cross Browser_Seo - Fatal编程技术网

Javascript 非阻塞样式表可缩短页面加载时间

Javascript 非阻塞样式表可缩短页面加载时间,javascript,css,html,cross-browser,seo,Javascript,Css,Html,Cross Browser,Seo,我正在尝试优化网站的页面加载时间。现在我已经实现了Google PageSpeed Insights给我的几乎所有建议。但是,它一直建议使用非阻塞样式表,以便在加载样式表(使用内联CSS)之前可以呈现上面的折叠内容: 消除折叠内容上方的渲染阻塞JavaScript和CSS。 你的页面有X块CSS资源。这会导致页面呈现延迟 您页面上的折叠内容中,大约有Y%是 在不等待加载以下资源的情况下呈现。尝试 延迟或异步加载阻塞资源,或内联 这些资源的关键部分直接放在HTML中 它指的是关于应该如何做的问题。

我正在尝试优化网站的页面加载时间。现在我已经实现了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我完全同意。尽管我的样式表已经以任何其他方式进行了组合和优化,但我仍然希望摆脱谷歌的建议(为了提高搜索引擎优化)。对不起,我应该提前问一下,错误消息的确切文本是什么。还有,你浏览过这个吗@这是一个有趣的问题,但答案并没有真正说明样式表。我已经添加了来自这两种产品的建议/错误消息。