在 facebook iframe 应用程序集成期间,我请求发布权限 - 我有加载 JS Connect 库并请求权限对话框的 HTML..
FB_RequireFeatures(["XFBML"], function(){ FB.Facebook.init("_MY_API_KEY", "MY_PATH/xd_receiver.htm"); FB.Connect.showPermissionDialog('publish_stream');
但是在使用 IE7 的 IETester 中我得到了奇怪的错误
SecurityError: Error #2060: Security sandbox violation: ExternalInterface caller http://b.static.ak.fbcdn.net/rsrc.php/zDVWA/hash/bqv7w2jc.swf cannot access ..(MY APP PAGE) at flash.external::ExternalInterface$/_initJS() at flash.external::ExternalInterface$/addCallback() at flashutils::PostMessage() at XdComm()
据我所知,xd 文件适用于使用此 ExternalInterface 与 facebook 通信并显示对话框的 flash 代理。单击“确定”后,一切似乎都在进一步工作。
谁能解释一下是什么原因造成的?
最佳答案
IETester 并不完美,只是因为它无法完全模拟适当的 IE 环境。当事情变得棘手时,它开始出现奇怪的错误。没有比跨域 Facebook iframe 应用程序更棘手的了。
我会找到一个真正安装的 IE7 并检查那里是否存在问题。如果没有,那可能不值得你花时间。 Microsoft 提供了一个 Virtual PC非常适合这类事情的应用程序,以及许多XP and Vista test images包含各种版本的IE。它们的下载量很大,但我强烈推荐它们而不是 IETester。
关于javascript - Facebook 应用程序 iframe + JS Facebook.init + IE7 + Flash9 沙盒错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1294368/