【问题标题】:android / javascript - problem with window.innerWidth and window orientationEvent firing at the right timeandroid / javascript - window.innerWidth 和 windoworientationEvent 在正确的时间触发的问题
【发布时间】:2011-09-07 22:37:20
【问题描述】:

我正在尝试在方向更改时准确捕获移动浏览器的窗口高度和宽度,但是(在 Android 中,我正在测试)- 当方向侦听器触发并且调用该函数来捕获窗口高度和宽度,新尺寸还没有准确反映,所以我最终不得不调用任意延迟来让东西注册它们的正确尺寸。我该如何处理?这是我的代码:

window.addEventListener(orientationEvent, function() {
    setTimeout("setViewport()", 500);
    //setViewport();
}, false);

function setViewport() { //Called each time orientation changes, including initial orientation
    viewportW = window.innerWidth; //only reports the accurate window size if the function is called on a delay
    viewportH = window.innerHeight;
}

【问题讨论】:

    标签: javascript jquery android mobile


    【解决方案1】:

    改用调整大小事件

    window.addEventListener('resize', function() {
        viewportW = window.innerWidth;
        viewportH = window.innerHeight;
    }, false);
    

    如果你只想在方向改变时特别改变这些值,你可以使用 window.matchMedia 来验证方向也改变了:

    var portrait=(window.matchMedia("(orientation: portrait)")?true:false);
    

    【讨论】:

      猜你喜欢
      • 2014-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多