Javascript Facebook';未调用s hideFlashCallback
我正在使用starling(3D图形)在flash中开发Facebook应用程序。因此,我的HTML页面需要使用wmode=“direct”格式 我实现了Facebook上给出的解决方案 我把一个日志放进回叫,这个日志永远不会出现,所有Facebook对话框都显示在我的flash应用程序下。所以我认为回调没有被调用 这里是回调的测试代码。我错过什么了吗?多谢各位 编辑:在我的应用程序中,调用后端,然后重定向到前端。我发现,当我的背部和前部的域不同时,回调不会启动,但当它是同一个域时,它会被调用。有人知道为什么吗Javascript Facebook';未调用s hideFlashCallback,javascript,facebook,flash,facebook-canvas,Javascript,Facebook,Flash,Facebook Canvas,我正在使用starling(3D图形)在flash中开发Facebook应用程序。因此,我的HTML页面需要使用wmode=“direct”格式 我实现了Facebook上给出的解决方案 我把一个日志放进回叫,这个日志永远不会出现,所有Facebook对话框都显示在我的flash应用程序下。所以我认为回调没有被调用 这里是回调的测试代码。我错过什么了吗?多谢各位 编辑:在我的应用程序中,调用后端,然后重定向到前端。我发现,当我的背部和前部的域不同时,回调不会启动,但当它是同一个域时,它会被调用。
我面临着同样的问题,在我的例子中,FB.init被调用了两次,一次来自Javascript,另一次来自Flash内部,导致flashHideCallback丢失
function test(info)
{
console.debug("teste");
}
function fbInit()
{
window.fbAsyncInit = function()
{
FB.init({
appId: '${facebook_api_code}',
status: true,
cookie: true,
xfbml: true,
oauth: true,
frictionlessRequests: true,
hideFlashCallback : test
});
FB.Canvas.setSize();
window.isFacebookAPIInitialized = true;
if ((flashObject = getFlashMovie('${application}')) != undefined && flashObject.handleJavascriptFacebookAPIInitialized != undefined)
flashObject.handleJavascriptFacebookAPIInitialized();
};
// Load the SDK asynchronously
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all"+".js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
};