Javascript Facebook弹出窗口在iOS Safari、HTML5画布按钮上被阻止
我在基于Phaser的HTML5游戏中使用JSSDK登录facebook。通过打开一个弹出窗口通过facebook登录,它在android设备上运行良好。但它在safari/iOS设备上不起作用。我认为弹出窗口被阻止了,因为它是通过点击游戏中的一个按钮生成的,而不是传统HTML按钮的原因Javascript Facebook弹出窗口在iOS Safari、HTML5画布按钮上被阻止,javascript,ios,facebook,html5-canvas,phaser-framework,Javascript,Ios,Facebook,Html5 Canvas,Phaser Framework,我在基于Phaser的HTML5游戏中使用JSSDK登录facebook。通过打开一个弹出窗口通过facebook登录,它在android设备上运行良好。但它在safari/iOS设备上不起作用。我认为弹出窗口被阻止了,因为它是通过点击游戏中的一个按钮生成的,而不是传统HTML按钮的原因 this.fbBtn = this.game.add.sprite(0, 0, 'sheet', 'Button-Facebook', this.loginGrp); this.fbBtn.inputEnab
this.fbBtn = this.game.add.sprite(0, 0, 'sheet', 'Button-Facebook', this.loginGrp);
this.fbBtn.inputEnabled = true;
this.fbBtn.events.onInputDown.add(this.onFBLogin, this);
onFBLogin() {
FB.login(function(response) {
if (response.status === "connected") {
FB.api('/me?fields=name,email,first_name', function(response) {
}
}.bind(this), {scope: 'email'});
}
}
Fb登录会在Android上弹出一个弹出窗口,在iOS上不会发生任何事情。这个问题已经得到解决:
您好,不幸的是,我使用的是Phaser 2 CE,而不是3。在这种情况下,我相信有一种解决方法,即使用不可见的html按钮/链接进行重叠。对于一款新游戏,我强烈推荐使用Phaser3,但我认为现在已经太晚了……是的,很遗憾,现在已经太晚了。好的,我会找一个解决办法。