1

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

4

3 回答 3

0

似乎添加参数 allowScriptAccess: "always" 起到了作用。奇怪的是,示例代码应用程序中没有提到这一点......

于 2010-11-27T15:45:33.047 回答
0

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

于 2011-02-11T08:06:42.807 回答
0

在这里你可以找到一个带有源代码的教程 === 使用 Flash 和 javascript 进行通信

于 2014-03-07T05:22:27.357 回答