1

我的问题很简单:

是否有任何(现有的或计划的)对 HTTP/SPDY 协议的增强,或已编写的扩展以使浏览器能够修改其呈现例程,以便可以对用户隐藏非任何内容的 Flash?

当然,IE 用户将落后于其他所有人,但我认为这将是对有线协议的明智增强,只需要额外的几个字节左右,并且减少了相当多的额外 JS 渲染。

还是这种策略会违背一般的渐进增强理念?

如评论中所述,这可以作为第三方扩展来实现,还是作为集中式标准来实现更好?

4

1 回答 1

0

HTML Imports 就是这样一种功能:

HTML Imports 阻止主页面的呈现。这类似于做什么<link rel="stylesheet">。浏览器首先阻止在样式表上呈现的原因是为了最大限度地减少无样式内容 (FOUC) 的闪烁。HTML 导入的行为类似,因为它们可以包含样式表。

通过此更改, HTML 导入document.write中标记的所有输出都<script>将转到导入的 HTML 文档。这消除了 HTML 导入清除主页的问题。

链接预渲染将是另一个:

IE11 可以在后台预渲染一页。如果遇到第二个预呈现请求,它将替换第一个请求。其他预呈现请求将被忽略。

<link rel="prerender" href="http://example.com/" />

开发人员可以微调 IE11 优先考虑资源下载的方式。对于某些网页,内置的优先级方案可能不够用。例如,开发人员可能希望表明位于首屏下方的图像的优先级应低于位于首屏上方的更重要的资源。

IE 特定lazyload属性是第三个:

开发者可以通过添加lazyload标签来降低资源的优先级:

<img src="image.jpg" lazyload  />

最后,元素的deferandasync属性:<script>

使用说明

<script src="widgets.js"></script> 脚本立即执行,页面等待脚本完成后再继续解析。这会显着降低页面加载性能。

<script async src="widgets.js"></script> 脚本在页面继续解析时异步下载。该脚本在下载完成后执行。

<script defer src="widgets.js"></script> 页面解析完成后执行脚本。

<script async defer src="widgets.js"></script> async 属性被接受,而 defer 属性被忽略。这使开发人员可以在支持异步的浏览器中使用异步,但在不支持异步的浏览器中回退到延迟。

参考

于 2015-08-06T16:31:39.560 回答