iOS Safari,HTML5画布按钮阻止了Facebook弹出窗口

时间:2019-07-16 11:54:31

标签: javascript ios facebook html5-canvas phaser

我在基于Phaser的HTML5游戏中使用JS SDK进行Facebook登录。通过打开用于通过Facebook登录的弹出窗口,它在android设备中可以正常工作。但是在Safari / iOS设备上不起作用。我认为弹出式窗口已被阻止,因为它是通过点击游戏内的按钮而不是传统的HTML按钮生成的。

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上则没有任何反应。

1 个答案:

答案 0 :(得分:1)

该问题已得到解决:

  

InputManager和InputPlugin具有三个新方法:   addUpCallback,addDownCallback和addMoveCallback。这些方法   允许您添加要在本机DOM鼠标或   接收到触摸事件。调用传递给此方法的回调   DOM事件发生时立即在DOM范围内   事件处理程序。因此,它们被认为是“本地”   浏览器的角度。这意味着它们可以用于诸如   如打开新的浏览器窗口或任何明确需要的内容   用户输入以激活。