我希望能够在 JSFiddle 中加载 Facebook API。这是我的current attempt .
当我运行时:
window.fbAsyncInit = function() {
FB.init({
appId: 'event-test',
xfbml: true,
version: 'v2.5'
});
};
我收到以下错误:
Uncaught SecurityError: Failed to set the 'domain' property on 'Document': Assignment is forbidden for sandboxed iframes.(anonymous function) @ xd_arbiter.php?version=42:1
有什么方法可以让它正常工作吗?
最佳答案
我不太了解 Facebook 登录 API。不过,我明白您收到错误消息的原因。
如果您在没有 jsfiddle 的情况下将代码放入计算机硬盘驱动器上的文件中,它应该可以工作。
简短回答:没有办法让它与您当前在 jsfiddle 上的设置一起使用。如果 Facebook 有不同的 API 可以做同样的事情,您可以尝试寻找替代的 Facebook API。
长答案: 沙盒是分配给 iframe 标记的属性,用于父页面的安全措施。 JsFiddle 使用沙箱为父页面提供安全性。您的 fiddle 结果被加载到如下所示的 iframe 中:
<iframe name="result" sandbox="allow-forms allow-popups allow-scripts allow-same-origin allow-modals" frameborder="0" src="//fiddle.jshell.net/casebash/j26bq6qf/11/show/"></iframe>
Facebook 只是不希望他们的 API 在沙盒 iframe 中运行。
关于javascript - 在 JSFiddle 中加载 Facebook API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34426959/