使用ios浏览器在iframe中重定向冻结Phaser画布

时间:2014-05-19 12:28:20

标签: ios iphone iframe freeze phaser-framework

我使用Phaser创建游戏,但我发现在Facebook中使用它有问题。在iframe中完成重定向后,画布在单击后没有响应。

实施例: 我有一个IFrame,在iframe中我重定向到game.html。当我点击game.html时,一切都冻结了。

使用电脑(任何浏览器),Windows手机或Android时,一切正常,但使用iphone或ipad,它无法正常工作。

以下是重播问题的示例文件......

的index.html:

<html>
<body>
    <iframe src="click.html" height="900" width="800"/>
</body>
</html>
click.html
<!DOCTYPE html>
<html>

    <body>

      <a href="Game.html">CLICK HERE</a>

    </body>
</html>

Game.html

<!DOCTYPE html>
<html>
    <head>
           <style>
            body{overflow:hidden;}
             #game_div {
                 width: 760px;
                 height: 1100px;
                 margin: auto;
             }
        </style>
        <script type="text/javascript" src="./Game/phaser.min.js"></script>
        <script type="text/javascript" src="./Game/main.js"></script>
    </head>

    <body>

      <div id="game_div"> </div>

    </body>
</html>

main.js

var game = new Phaser.Game(760, 1100, Phaser.AUTO, 'game_div');
var overlay, countdownText;
var counter = 0;

var main_state = {
    preload: function() {       

    },
    create: function () {

        //game overlay
        overlay = game.add.graphics(0, 0);
        overlay.beginFill(0x00A54F, 0.8);
        overlay.drawRect(0, 0, game.width, game.height);

        countdownText = game.add.text((game.width / 2), (game.height / 2), counter, { font: "65px Arial", fill: "#ffffff", align: "center" });
        countdownText.anchor.set(0.5,0.5);

    },
    update: function() {
        countdownText.setText(counter++);
    }
}

game.state.add('main', main_state);  
game.state.start('main');  

TNX

1 个答案:

答案 0 :(得分:1)

找到解决方案,感谢Rich Davey。

当我添加以下代码时,它可以工作:

game.stage.disableVisibilityChange = true;