在facebook iframe应用程序集成期间我要求发布权限 - 我有HTML加载JS Connect库并请求权限对话..
FB_RequireFeatures(["XFBML"], function(){ FB.Facebook.init("_MY_API_KEY", "MY_PATH/xd_receiver.htm"); FB.Connect.showPermissionDialog('publish_stream');
然而,在IE4的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代理。点击“确定”后,一切似乎都进一步发挥作用。
任何人都可以澄清导致这种情况的原因吗?
答案 0 :(得分:1)
IETester并不完美,仅仅是因为它无法完全模拟正确的IE环境。当事情变得棘手时,它会开始出现奇怪的错误。并且没有比跨域Facebook iframe应用程序更棘手的功能。
我会找到IE7的真实安装并检查是否存在问题。如果没有,那可能不值得你花时间。 Microsoft提供了一个非常适合此类事件的Virtual PC应用程序,以及包含各种版本IE的许多XP and Vista test images。它们的下载量很大,但我强烈推荐它们超过IETester。