2011-03-13 47 views
1

我已经从字面上花了小时来试图解决这个谜团......但根本无法控制它。
我正在使用与示例here(官方adobe教程)相同的代码行(字面上!),我得到了不同的结果。Facebook登录处理程序不会在Flex4 Facebook API中被解雇

protected function login():void 
{ 
    Facebook.login(loginHandler,{perms:"user_birthday,read_stream,publish_stream"}); 
} 

protected function loginHandler(success:Object,fail:Object):void 
{ 
    trace ("login handler called"); 
    if(success){  
     currentState="state_home"; 
     Facebook.api("/me",getMeHandler); 
     //userImg.source=Facebook.getImageUrl(success.uid,"small"); 
     Facebook.api("/me/statuses",getStatusHandler); 
    } 
} 

一切工作正常,即一切,直到它是时间触发登录事件。我被要求登录并正确询问所有权限。在我登录Facebook之后,登录事件不会触发。有什么办法解决这个问题?

,我真的很绝望... :(

+0

其他不仅仅是使用其他浏览器,你有没有弄清楚是什么导致了这种情况?我尝试使用firefox 4和safari,它让我像你一样登录,但它不是t由于某种原因操纵loginHandler函数。 – brybam 2011-03-27 04:13:38

+0

我不知道,它已经有一段时间,因为我已经工作了(考试你知道:(),但我认为它与嵌入JavaScript的参数“允许脚本访问”有关,另外尝试在另一个Web应用程序在另一个计算机,有时浏览器的行为会因为你安装的一些旧的蹩脚插件而有所不同!也许它会在其他地方运行得很好! – 2011-03-27 10:48:50

回答

1

您是否尝试过调试包含HTML页面的JavaScript的?我发现JavaScript可以在通信遇到错误回到您的Flash动画,它在后台静默失败

打开调试器,看看是否有任何错误。 - 有时其打倒在冲突的嵌入对象ID中,抛出它的HTML

+0

感谢您的回答...但是我发现它在Explorer,Safari和Chrome中工作正常,但是它不能在Opera中工作,在那里我偶然测试我的应用程序:) – 2011-03-20 10:49:00