我所知,有一些跨域的修复不允许你从外部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 内的页面与自己的域进行通信没有任何问题——因为这种通信根本不是跨域的。