gpt4 book ai didi

javascript - 有什么理由不使用异步脚本元素吗?

转载 作者:行者123 更新时间:2023-12-02 17:56:44 26 4
gpt4 key购买 nike

尽管继续采用 script 元素的 async 属性,但仍然有人建议将脚本放置在不带 async 属性的文档底部。如果避免 document.write ,使用异步时是否有任何可能的陷阱?

例如,如果我加载一个包含在 jQuery 的 $(document).ready(...) 中的脚本,在添加异步时是否有可能遇到任何负面影响属性?我可以在所有此类脚本上可靠地指定异步吗?

最佳答案

如果您的脚本依赖于以特定顺序运行,则无法使用异步。这通常意味着他们相互依赖。

最近发生在我身上的一个例子是使用 Google 的 PrettyPrint 语法突出显示库。您包含该库,然后调用 prettyPrint() 将语法突出显示应用于相关 block 。

<script src='http://cdnjs.cloudflare.com/ajax/libs/prettify/r298/prettify.js' type='text/javascript'></script>
<script type='text/javascript'>prettyPrint();</script>

因此,如果您的所有脚本都包装在 $(document).ready 中,那么它们很可能非常适合使用 async。不过,您应该问的问题是您是否可以合并所有文件,这样您只需要提出一个请求。

<小时/>

defer 属性与 async 类似,但会等到 HTML 解析完毕,然后按照脚本在 HTML 文件中出现的顺序运行脚本。如果 prettyPrint() 的调用是外部的而不是内联的,那么这在上述情况下是有效的,因为我不认为它适用于内联脚本。

关于javascript - 有什么理由不使用异步脚本元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20915819/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com