【问题标题】:kinetic js crash on resize ipad调整ipad大小时动力学js崩溃
【发布时间】:2013-07-15 20:03:38
【问题描述】:

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

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

【问题讨论】:

    标签: ipad crash resize kineticjs


    【解决方案1】:

    问题是您每秒触发了数百次 stage.draw()。 KineticJS v4.5.5 将使用 stage.batchDraw() 方法解决此问题,该方法将绘制挂钩到动画引擎中以提高性能。这样,如果你每秒通过 mousemove 调用 stage.batchDraw() 数百次,舞台每秒只会被绘制大约 60 次。

    【讨论】:

      【解决方案2】:

      这可能是因为 iPad 不支持 innerWidthinnerHeight(我知道并非所有移动设备都支持它),因此尝试将舞台宽度和高度设置为 @987654324 可能会导致代码崩溃@号码。

      您必须使用其他方法来将舞台设置为屏幕大小。

      你可以试试这样的:

      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/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-08
        • 2013-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多