Facebook Flash应用无法与JavaScript通信

时间:2010-11-27 12:48:19

标签: javascript flash actionscript-3 facebook facebook-actionscript-api

我的index.php文件加载了Facebook JavaScript SDK和FBJS桥:

<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript" src="FBJSBridge.js"></script>

然后进入Facebook SDK:

<script type="text/javascript">
   FB.init({
     appId  : '<?=$fbconfig['appid']?>',
     session: <?php echo json_encode($session); ?>,
     status : true, // check login status
     cookie : true, // enable cookies to allow the server to access the session
     xfbml  : true  // parse XFBML
   });

使用swfobject嵌入Flash文件:

swfobject.embedSWF("http://www.myserver.org/Facebook/app/app.swf", "holderDiv", "740", "616");

当我在我的服务器上运行此文件时,我可以通过ExternalInterface调用间接通过Facebook JavaScript SDK进行通信,启动各种Facebook UI对话框等。我还可以使用facebook-actionscript-api直接启动相同的对话框动作脚本。

然而,当我使用此索引文件作为我的Facebook画布URL并在Facebook iFrame中加载swf时,通信会崩溃应用程序。我不知道如何调试这个,但我认为它可能与跨域安全性有关。欢迎任何关于调试和/或解决方案的想法。

3 个答案:

答案 0 :(得分:0)

似乎添加了参数allowScriptAccess:“always”就是这样做的。 奇怪的是,在示例代码应用程序中没有提到......

答案 1 :(得分:0)

FBJSBridge.js已在API的更新1.5中被替换。它现在在AS3源中。

答案 2 :(得分:0)

你可以找到一个包含源代码的教程=== Communacation with Flash and javascript