【问题标题】:Explanation of script defer attribute [duplicate]脚本延迟属性的解释[重复]
【发布时间】:2011-12-07 03:12:54
【问题描述】:

可能重复:
How exactly does <script defer=“defer”> work?

谁能解释一下defer是如何工作的?

例如以下代码将如何工作:

document.write("&lt;script id=__ie_onload defer " + ((location.protocol == "https:") ? "src='javascript:void(0)'" : "src=//0") + "&gt;&lt;\/script&gt;")

为什么对不同的协议使用不同的 src 值?

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    defer是一个IE属性,告诉浏览器延迟脚本的执行。

    http://www.w3.org/TR/html4/interact/scripts.html#h-18.2.1

    "设置后,此布尔属性向用户代理提供一个提示,即脚本不会生成任何文档内容(例如,在 javascript 中没有“document.write”),因此,用户代理可以继续解析并渲染。”

    【讨论】:

    • 所以换句话说...远离它? :)
    • @JeffreySweeney:恰恰相反,你是用 document.writes 写代码吗?
    • 好吧,如果 W3C 同意的话……“仅限 IE”让我感到畏缩。
    • 如果在页面加载之前不需要脚本,那么使用defer是没有问题的。 Defer 允许在脚本开始执行之前加载页面的内容。当然也有使用JavaScript延迟脚本执行的方法,比如window.onload或者jQuery的$(document).ready(function(){})
    猜你喜欢
    • 2013-11-23
    • 2019-01-18
    • 2011-04-26
    • 1970-01-01
    • 2015-06-17
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    相关资源
    最近更新 更多