一部の Web アプリケーション (Disqus と LiveFyre について考えています)<script>
は、Javascript を介してタグを作成し、Javascript を介して、新しいスクリプトが非同期的にロードされるように指定します。タグを Javascript で作成するのはなぜですか? 単に行う代わりに:
<script src="..." async>
例:
これは、Disqus がウェブサイトの所有者にコメントをロードするように指示する方法です。
<script type="text/javascript">
var disqus_shortname = ...
(function() {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
そして、src = ...disqus.com/embed.js
アドレスは単に別の Disqus サーバー上の静的スクリプトへのリダイレクトであり、明らかにdisqus_shortnameとは無関係です。
代わりに、このコードを使用するよう人々に伝えてみませんか。
<script>
var disqus_shortname = ...
</script>
<script src="http://direct-address-to-the-embed.js-script" async>
または、さらに単純に、1 行だけ:
<script src="http://the_disqus_shortname.disqus.com/embed.js" async>
?
(PS以下に1つの回答を追加しました。他の回答も追加してください:-))