新的CSS属性content-visibility
属性看起来是一个提高页面加载速度的好工具。
我想把它添加到我的页脚:
<footer style="content-visibility: auto;">
(...)
</footer>
因为它可以稍后在屏幕上绘制(它显示在我网站所有页面的文件夹下面(。
但是,我的页面页脚有许多js-lib,它们是通过页脚标记内的<script>
标记加载的。
有些脚本是急切加载的,有些是延迟加载的,而另一些则是异步加载的。(是的,不幸的是,有很多剧本(。
所以我的问题是:
content-visibility
属性会以任何方式干扰脚本加载吗
还是不管CSS属性如何,脚本都会以相同的方式加载?
在这里询问,因为它是新的,看起来有点";魔术;我没有找到太多相关的文档。提前感谢您对此的任何见解。
应该是<footer style="content-visibility:auto">
而不是<footer content-visibility="auto">
。
它是一个CSS属性,所以它不会影响脚本加载,但因为它有可能影响布局,所以如果脚本<执行>执行>依赖于特定的基于布局的操作,例如获取矩形的边界框,它可能会受到影响。
当你认为Alohci的答案不完整时,我会加上我的2美分,但大多数情况下我只能重新表述已经说过的话。
我没有Chrome 85,所以我不能测试它。但在阅读了这个和这个规格后,我认为:
-
。。。但是,如果它是一个向元素添加处理程序的脚本,那么它可能是错误的,比如
$(selector).click(...)
?只需测试即可!尝试使用带有JS代码的
content-visibility: auto
单击一个元素,但由于屏幕外,该元素仍然不可见。我相信管理员会工作的。说明书中没有关于这些事情的任何内容。 -
content-visibility
属性会以任何方式干扰脚本加载吗?否。规范中没有一个关于资源加载的词。但再次测试!查看网络选项卡。脚本的加载顺序不应更改。
-
因此,它不会影响通用脚本,如bootstrap等,但如果是一个。。。
。。。一个。。。
- 在某种程度上取决于具有
content-visibility: auto
或其后代的元素的大小(Alohci已经指出( - 某种程度上取决于
innerText
- 与一些可访问性功能相关(可能……不太熟悉这些功能(
- 在其他情况下(如果你对细节感兴趣,请阅读规范(
- 由于该功能仍处于初级阶段,因此可能还有其他情况没有在规范中提及。(
content-visibility
的规范实际上是一份草案(
是的,它可以破坏
你甚至可以想象一个脚本,它读取css属性,找到
content-visibility
并在未知的情况下抛出……甚至因为它的作者讨厌那些使用content-visibility
的人而抛出:(但我认为,在你的情况下,机会是无穷小的,因为我认为你所指的脚本中没有一个对你的
footer
感兴趣。 - 在某种程度上取决于具有
无论如何,任何更改都应该进行测试(理想情况下(。但你也永远无法确定是否没有bug。所以,只要尝试一下,如果值得的话,看看进展如何。