为什么要通过Javascript创建脚本标记,而不是使用延迟或异步脚本标记属性?
一些Web应用程序(我想到的是discus和LiveFyre)通过Javascript创建为什么要通过Javascript创建脚本标记,而不是使用延迟或异步脚本标记属性?,javascript,html,asynchronous,disqus,livefyre,Javascript,Html,Asynchronous,Disqus,Livefyre,一些Web应用程序(我想到的是discus和LiveFyre)通过Javascript创建标记,并通过Javascript指定异步加载新脚本。为什么他们要通过Javascript创建标签?而不是简单地做: <script src="..." async> 甚至更简单,只有一行: <script src="http://the_disqus_shortname.disqus.com/embed.js" async> ? (注:我在下面添加了一个答案。请也添加其他答案
标记,并通过Javascript指定异步加载新脚本。为什么他们要通过Javascript创建标签?而不是简单地做:
<script src="..." async>
甚至更简单,只有一行:
<script src="http://the_disqus_shortname.disqus.com/embed.js" async>
?
(注:我在下面添加了一个答案。请也添加其他答案:-)我能想到一个不确定的原因(第一)和两个可能的原因(第二和第三): [编辑]但原因2和3没有实际意义-尽管我的原因2和3:
<script src="http://the_disqus_shortname.disqus.com/embed.js" async>
[/Editi]
async
属性的旧浏览器完全忽略了整个
标记,而不是只忽略async
并同步加载脚本?)embed.js
script)。无需用户重新配置其DISKS代码 ...
<script>var disqus_shortname = ...</script>
<script src="//shortname.disqus.com/embed.js" async>
</body>
。。。
var discus_shortname=。。。
不过我不确定 嗨,谢谢你的回答!我得到的印象是您在回答另一个问题,即“为什么他们将
放在
中而不是
?-或者您是在暗示使用
标记或执行:…document.createElement('script');…s.src=…;
之间在性能方面存在一些差异?”?
<script src="http://the_disqus_shortname.disqus.com/embed.js" async>
...
<script>var disqus_shortname = ...</script>
<script src="//shortname.disqus.com/embed.js" async>
</body>