javascript - Facebook Flash 应用程序无法与 JavaScript 通信

标签 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直接从 ActionScript 启动相同的对话框。

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

最佳答案

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

关于javascript - Facebook Flash 应用程序无法与 JavaScript 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4291717/

相关文章:

apache-flex - 如何在 FLEX 中显示 SVG

javascript - 无法编译意外标记 57 :1 Return(

javascript - 如何将 HTML 文件添加到 GitHub 存储库?

javascript - 脚本不将信息从下拉列表发布到文本框

loops - 批处理文件检查exe是否正在运行如果是则taskkill

flash - 我可以在构造函数中使用apply()来传递任意数量的参数

javascript - 页面内容中的 HTML Iframe

flash - ActionScript 2 与 ActionScript 3 性能对比

actionscript-3 - `root` 不同地方的变化

actionscript-3 - AS3 : How do I clear graphics in a specific pixel/area