ツイートボタンとFacebookのようなウィジェットはどちらも、HTMLに次のようなものを追加するように指示します。
<script>
!function(d,s,id){
var js,fjs=d.getElementsByTagName(s)[0];
if(!d.getElementById(id)){
js=d.createElement(s);
js.id=id;
js.src="https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js,fjs);
}
}(document,"script","twitter-wjs");
</script>
<script>
DOMに要素を動的に追加し、実際のウィジェットJavaScriptをロードします。このようにウィジェットを直接ロードするのではなく、動的にこれが行われるのはなぜですか(これはよりシンプルでクリーンです):
<script src="https://platform.twitter.com/widgets.js"></script>
私が考えることができる唯一の理由は、ページがロードされるまでスクリプトのロードを延期することですが、これは<script>
、閉じる直前に配置することで同じように簡単に実行できます</body>
。