Facebookの開発者向けドキュメントには、次のように表示されます。
<html>
<head>
<title>My Great Web page</title>
</head>
<body>
<div id="fb-root"></div>
<script>
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
<div class="fb-like"></div>
</body>
</html>
Google アナリティクスと同様に、これはスクリプト タグを生成し、それを dom に挿入します。
最初から書いてみません<script type="text/javascript" src="someUrl.com/etc"></script>
か?
ページの読み込み(別名非同期)後に読み込み/注入することにより、ブロック動作を防ぐためだと思います。非同期が唯一の理由ですか??