【问题标题】:Jquery mobile and IOS address barjquery mobile和ios地址栏
【发布时间】:2023-03-15 23:40:01
【问题描述】:

由于 URL 地址栏,我在使用 ios 设备时遇到了一些问题。我正在使用 Esri Javascript api maps 和 Jquery mobile。当我更改页面时,我重新调整了地图的大小,但由于顶部的 URL 栏没有被修复,我在底部得到空白,因为它无法获得精确的高度。 谁能告诉我如何解决这个问题。 我尝试使用滚动顶部但没有帮助。我为此苦苦挣扎了将近一天。有什么办法我可以始终显示地址栏或仅隐藏几页的地址栏。

谢谢, 帕万

【问题讨论】:

    标签: jquery ios jquery-mobile


    【解决方案1】:

    您可以在 window.resize 事件处理程序中更新容器元素的高度:

    $(window).bind('resize', function () {
        $('#container').height($(this).height());
    });
    

    这当然非常简单,您很可能需要做一些数学运算才能计算出容器的确切高度。

    我还会添加一个超时,这样每次调整大小时只会触发一次(随着浏览器调整大小,不同的浏览器会发送不同数量的调整大小事件):

    var timer;
    $(window).bind('resize', function () {
        clearTimeout(timer);
        timer = setTimeout(function () {
            $('#container').height($(this).height());
        }, 50);
    });
    

    当地址栏被隐藏时,resize 事件被触发,因为视口正在改变大小。

    【讨论】:

    • 感谢您的帮助。我正在调整大小,它确实会调整大小。但是由于地图是在首次加载应用程序而不是活动视图时加载的,并且当它变为活动状态时,它不会显示地址栏并直接滚动到标题。页面计算宽度只是它滚动到标题。当我向上滚动时,我看到标题。在Android中它工作正常。只有IOS有这个问题。
    【解决方案2】:

    JQM 有一个方向改变事件,

    $( window ).on( "orientationchange", function( event ) {
        /* your codes here */
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-29
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 2014-05-13
      • 2021-09-06
      • 2019-03-21
      相关资源
      最近更新 更多