Facebook SDK の使用を最適化しようとしています。Chrome のネットワーク タブを見ると、SDK が読み込まれるときに、他の多数のファイルが読み込まれることがわかります。
1 つ目は、Facebook API を含むall.jsです。スクリーンショットの残りのリソースは、 への呼び出し後にロードされFB.init
ます。
about:blankへの 3 つの呼び出しと、xd_arbiter.phpへの 3 つの呼び出しがあります。oauthへの呼び出しが 2 つあります。最初の 2 つに 3 つの呼び出しがある理由がわかりません。
all.jsは 2 つの要素を作成するようですiframe
(SDK をロードするページが HTTPS 経由で提供される場合、作成されるのはfb_xdm_frame_https
1 つだけです。この状況では、3 つではなく 2 つのリクエストが行われるようです)。
<div id="fb-root" class=" fb_reset">
<div style="position: absolute; top: -10000px; height: 0px; width: 0px; ">
<div></div>
<div>
<iframe id="fb_xdm_frame_http" name="fb_xdm_frame_http"></iframe>
<iframe id="fb_xdm_frame_https" name="fb_xdm_frame_https"></iframe>
</div>
</div>
</div>
iframe
要素が属性なしで作成されるため、空白のページが要求されsrc
ます (後で JavaScript を介して追加されます)。設定されると、 xd_arbiter.phpに設定されます。
これで 3 つのうち 2 つが説明されました。しかし、about:blankとxd_arbiter.phpへの他の呼び出しはどこから来るのでしょうか? JSBeautifierを介してall.jsを実行し、コードをたどることでここまで来ましたが、これらのファイルが 3 回目に要求される理由や方法がわかりません。