0

私が知る限り、外部URLからコンテンツを取得できないクロスドメイン制限があり、これを克服するために、サーバー側スクリプトを使用します。

facebook / googleがこれらの制限をどのように克服し、javascriptコードを使用して、次のような単純なコードで同様のボックスを生成できるのか疑問に思っています。

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=254277301328504";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

それを尋ねる理由は、仮想チャットボットを構築していて、ユーザーが単純なjavascriptを使用して、サイトでボットを生成することを望んでいるためです(サーバーサイドスクリプトを使用せずに外部ドメインで)

ありがとう

4

1 に答える 1

0

私の知る限り、外部URLからコンテンツを取得できないクロスドメイン制限があります

「通常の」XMLHttpRequest経由ではありません。しかし、それは外部リソースをまったくロードできないという意味ではありません。JSONPは、それがどのように機能するかの一例です。

Facebook/Googleがこれらの制限をどのように克服するのか疑問に思っています

彼らはあなたのページの中にiframe要素を作成し、彼ら自身のドメインからそれにドキュメントをロードします。そのため、iframe内のページから自分のドメインと通信する場合は問題ありません。その通信はクロスドメインではないためです。

于 2012-06-25T09:57:36.197 に答える