Удар Hammerjs блокирует окно. Внутренняя высота на Chrome Android - PullRequest
0 голосов
/ 08 мая 2018

У меня возникла проблема с hammerjs на Chrome Android 66.

У меня есть меню боковой панели, положение: фиксированное, с верхом: 0 и низом: 0. Когда элемент меню открывается, макет корректен, когда URL-панель вверху видна и скрыта. На устройстве Chrome осмотрите, если я запущу "window.innerHeight" в консоли, он даст мне высоту, когда панель URL видна, и другую высоту, когда она скрыта. Это правильно, потому что при скрытой панели URL внутренняя высота должна быть больше.

После того, как я произвожу пролистывание, в каком бы состоянии я ни находился, «window.innerHeight» блокируется до этой высоты, с или без панели URL. Это нарушает мой макет, потому что top: 0 и bottom: 0 застряли в состоянии, в котором я сделал свой первый удар.

Кто-нибудь сталкивался с этим? Любые возможные решения, чтобы заставить window.innerHeight (и window.outerHeight) адаптироваться к тому, что должно быть снова? Это прекрасно работает в любом другом браузере, только в Chrome Android.

Вот небольшой кусочек кода, который я собрал для тестирования. Спасибо за любой совет.

<html>
    <head>
        <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1">
        <style>
            #myElement {
            background: silver;
            height: 300px;
            text-align: center;
            font-size:30px;
            }
            .ex-height{
            height: 400px;
            border:solid 1px red;
            }
        </style>
    </head>
    <body>
        <div class="ex-height">extra height for scrolling</div>
        <div id="myElement"></div>
        <div class="ex-height">extra height for scrolling</div>
        <script src="https://hammerjs.github.io/dist/hammer.js"></script>
        <script>
        var myElement = document.getElementById('myElement');
        var mc = new Hammer(myElement);
        mc.on("panleft panright tap press", function(ev) {
        myElement.textContent = ev.type +" gesture detected.";
        });</script>
    </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...