我的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/