动态js崩溃调整大小ipad

时间:2013-07-15 20:03:38

标签: ipad crash resize kineticjs

我使用此代码来调整舞台大小。在桌面上一切都很好,但Ipad safari和chrome崩溃了。我试图删除其他一些东西,并认为它只能是强制崩溃的调整大小。奇怪的是,这段代码前一段时间工作了,我很惊讶它现在还没有。有人有想法或者可能有另一种调整大小的方法吗? 提前致谢

        window.onresize = function(event) {  
        stage.setWidth(window.innerWidth);
        stage.setHeight(window.innerHeight);
        stage.draw();   
        }           

2 个答案:

答案 0 :(得分:1)

问题是你每秒触发stage.draw()数百次。 KineticJS v4.5.5将使用stage.batchDraw()方法解决此问题,该方法将绘制到动画引擎中以获得性能。这样,如果你通过mousemove每秒调用stage.batchDraw()几百次,那么每秒只能绘制大约60次。

答案 1 :(得分:0)

可能是因为iPad不支持innerWidthinnerHeight(我知道并非所有移动设备都支持它),因此您的代码可能因为尝试设置舞台宽度和高度而崩溃到undefined个数字。

您必须使用替代方法将舞台设置为屏幕尺寸。

您可以尝试以下方式:

if (window.innerWidth) {
  width = window.innerWidth;
  height = window.innerHeight;
} else {
  width = screen.width;
  height = screen.height;
}

如果这对您不起作用,您将不得不考虑其他方式来处理不同的屏幕尺寸。我不久前发现了这篇文章:http://tripleodeon.com/2011/12/first-understand-your-screen/