JavaScript 获取/发布跨域限制和 Facebook/Google+ 等框



我所知,有一些跨域的修复不允许你从外部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 在他们的站点中生成机器人(在外部域上,他们不必使用服务器端脚本)

谢谢

据我所知,有一些跨域的修复不允许您从外部URL获取内容

不是通过"普通"XMLHttpRequest。但这并不意味着根本无法加载外部资源。JSONP将是它如何工作的一个例子。

我想知道facebook/google如何克服这些限制

他们在页面内创建一个 iframe 元素,并将文档从自己的域加载到其中。因此,他们从该 iframe 内的页面与自己的域进行通信没有任何问题——因为这种通信根本不是跨域的

相关内容

  • 没有找到相关文章

最新更新