1

您可能知道,从 Flash 应用程序发送自定义 HTTP 请求一直很困难。例如,如果您有一个基本身份验证保护的网络服务,您将无法使用 GET 请求从 Flash 请求它,因为只有 POST 请求可以具有自定义标头。这真的很麻烦。

我想知道是否有人尝试过使用 ExternalInterface 使用 Javascript 发送 HTTP 请求?这个想法是让 JS 方法发送请求并将数据传回 Flash。

有什么想法吗?

4

1 回答 1

3

是的,有可能,我已经做了几次使用 Facebook JS sdk 并将数据传回我的 swf。

通常你从你的 SWF 调用一个 JS 函数:

ExternalInterface.call("getFriends",params);

在 JS 方面:

function getFriends(params)
{
    FB.api('me/friends',function(response){
         mySwf.onGetFriendsComplete(response);
    });
}

在 SWF 端接收来自 JS 的调用:

ExternalInterface.addCallback("onGetFriendsComplete",onGetFriendsComplete);

private function onGetFriendsComplete(data)
{
   trace(data);
}

如果您在本地运行 SWF,您可能需要在 ExternalInterface 调用之前进行检查以确保它可用:

if(ExternalInterface.available)
    ExternalInterface.call(...);
于 2013-02-26T19:50:14.780 回答