Google 网站管理员 Jens Meiert 发表了一篇《Using
HTML 5 for performance improvements》,大部分内容在《Reducing
the file size of HTML documents》(中文版)中都有提及,新增的部分为async
(和 defer
),以下为该段的翻译:
async
和defer
使用在script
元素上。要解释为什么这些属性会提升性能,最好是看一下未使用时发生了什么 -- 各自的脚本在用户代理(浏览器,下同)继续解析页面前将被提取并直接执行,有时这个行为是我们想要的,有时不是。
新的
async
属性允许各自的脚本在可用时异步执行。HTML 4 中已经包含defer
属性,指出defer
“对用户代理提供一个暗示:脚本不产生任何文档内容(比如,在 Javascript 中没有document.write
),这样,用户代理会继续解析并渲染”。如果不使用
async
属性而只使用defer
,脚本在页面解析完成时已经执行。即使指定了async
属性,也可同时指定defer
属性。这使得那些旧的只理解defer
的浏览器来回退defer
行为而非默认的同步阻塞行为。
没有评论:
发表评论