如何设置Facebook';s hideFlashCallback来自graphapi_web_1_8_1.swc
graphapi_web_1_8_1.swc有一个如何设置Facebook';s hideFlashCallback来自graphapi_web_1_8_1.swc,facebook,actionscript-3,flash,facebook-graph-api,actionscript,Facebook,Actionscript 3,Flash,Facebook Graph Api,Actionscript,graphapi_web_1_8_1.swc有一个Facebook.init()函数,该函数的参数与FB.init()的JavaScript版本几乎相同。然而,我感兴趣的是设置Facebook的hideFlashCallback参数,通过传入Facebook.init()和FB.init()的选项参数。JavaScript SDK采用类型为“Object”的值,如下所示: 但是,如果我已经在从ActionScript调用graphapi_web_1_8_1.swc的Facebook.init(
Facebook.init()
函数,该函数的参数与FB.init()的JavaScript版本几乎相同。然而,我感兴趣的是设置Facebook的hideFlashCallback参数,通过传入Facebook.init()
和FB.init()的选项参数。JavaScript SDK采用类型为“Object”
的值,如下所示:
但是,如果我已经在从ActionScript调用graphapi_web_1_8_1.swc的Facebook.init()
,我如何将JavaScript函数作为hideFlashCallback传递
我尝试使用ExternalInterface.call()
调用“GetHideFlashCallback()”
JS函数,该函数的返回值是作为对象的回调函数,但在ActionScript中返回为null,即使ActionScript变量的类型为“object”
或“*”
我的下一个测试是避免调用graphapi_web_1_8_1.swc的Facebook.init()
,只需执行类似ExternalInterface.call(“FB_init_proxy(args)”)
的操作,这将直接使用Facebook的JavaScript SDK
但是有没有一种方法可以将ActionScript作为对象变量来回传递JavaScript函数呢?若否,原因为何?这是安全问题吗?您可以在此处看到问题的原因:
因此,在facebook的javascript初始化中,您必须添加hideFlashCallback:
FB.init({
appId:appId,
status:true,
cookie:true,
oauth:true,
frictionlessRequests: true,
hideFlashCallback : displayFlash
});
在displayFlash功能中,你可以做你想做的事情
function displayFlash( a )
{
if( a.state == 'opened' )
{
// do what you want when a chat or notification is open
}
else
{
// do what you want when a chat or notification is closed
}
}
你有没有使用过这个功能?我自己也在为类似的情况而挣扎。