我的 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 画布 URL 并在 Facebook iFrame 中加载 swf 时,通信会使应用程序崩溃。我不确定如何调试它,但我认为它可能与跨域安全性有关。欢迎任何关于调试和/或解决方案的想法。