这个CSS渲染阻塞是怎么回事
How is this CSS render blocking?
我正在尽我所能遵循Google PageSpeed关于如何设计我的网站以获得最佳性能的指导方针。
在分析了网站后,谷歌根据这些准则给我打分或排名。
保持我低分的一条准则是:
消除了折叠上方内容中的渲染阻塞JavaScript和CSS。
您的页面有1个阻止CSS资源。这会导致页面呈现延迟
http://www.my-website.com/bundles/styles/125/core
我为解决这个问题做了很多工作。
这包括将CSS的部分嵌入到HTML本身(只有第一次渲染所需的部分),并尝试通过内联脚本加载CSS。
我在HTML正文的末尾添加了这段代码:
(function (document) {
if(!document) return;
var stylesheet = document.createElement('link');
stylesheet.href = 'http://www.my-website.com/bundles/styles/125/core';
stylesheet.rel = 'stylesheet';
stylesheet.type = 'text/css';
var head = document.getElementsByTagName('head')[0];
head.appendChild(stylesheet);
})(document);
然而,谷歌页面速度仍然抱怨它是渲染阻塞。
为什么会这样,我该如何解决这个问题?
关键部分是"折叠内容上方。"
确保您在head
中加载的CSS仅适用于网页折叠部分上方中的元素。
例如,这不应该包括任何用于页脚的CSS,这可以用javascript在渲染后加载。
但是,您不应该在文档末尾加载所有CSS。如果CSS是在渲染后加载的,这会影响已经设置好样式的HTML元素,那么它们将不得不重新绘制到页面上,这将降低性能。
相关文章:
- Javascript袖珍参考,第121页:这是怎么回事;猴子补丁”;方法应该有效
- 基本的HTML Javascript程序.这是怎么回事
- 每次运行此代码时,我都会得到不同的结果,这是怎么回事
- jQuery extend 函数是怎么回事
- “Bada” - 这个JavaScript片段是怎么回事
- 如何使文本字段为空?这是怎么回事
- 自定义SVG签名在CODEPEN上有效,但在本地机器上无效-这是怎么回事
- 事件侦听器不会在IE中被调用 - 这是怎么回事
- HTML 中的空脚本标签是怎么回事
- 这个JavaScript片段是怎么回事
- 调用堆栈超出,甚至没有任何递归.这是怎么回事
- 带有奇怪输出的单行 - 字符串作为“这个”是怎么回事
- 这个速记运算符是怎么回事
- 网站似乎在没有向服务器发送密码的情况下登录用户;这是怎么回事
- 将多个值分配给一个变量.这是怎么回事
- 图片库的图片预装器?这是怎么回事
- 这个CSS渲染阻塞是怎么回事
- Javascript中的回调真的是方法调用吗?如果是的话,他们是怎么回事'级联'
- 有人能解释一下这部分是怎么回事吗
- 私有JS函数,这是怎么回事