iOS6 Safari полноэкранное обнаружение

Я хотел бы использовать новую полноэкранную функцию Safari в iOS6. Теперь я знаю, что невозможно запустить полноэкранную функцию из javascript, и это нормально, но я хотел бы знать, когда пользователь переходит в полноэкранный режим. (Для отображения всплывающего окна с текстом "этот сайт лучше всего просматривать в полноэкранном режиме", пока пользователь не перейдет в полноэкранный режим.)

Я попытался установить окно, документ и div 'wrapper' (с шириной и высотой, равными 100% в css), событиями onresize (с помощью обычного javascript и события jQuery 'resize'), но они не запускаются, когда Я иду в полноэкранный режим.

Я также установил интервал для проверки изменения ширины и высоты экрана / документа / оболочки, но они не показывали никаких изменений.

Есть ли другой способ определить, вошел ли пользователь в (или оставил) полноэкранный режим?

1 ответ

Решение

Хорошо, я на самом деле не знаю, почему это не сработало раньше, но я виню новую консоль отладки Safari IOS (которая теперь требуется для запуска через Safari на вашем Mac), потому что она не всегда показывает все журналы, которые я отправил на консоль.

Однако, когда я только что добавил сообщения в тело самого html-документа, события БЫЛИ работали. Привязка события jQuery 'resize' к окну представляется наилучшим вариантом.

Высота документа составляет около 200, если не в полноэкранном режиме, а в полноэкранном режиме - 320.

Самое простое решение, кажется, просто работает. (Просто объедините его с функцией изменения ориентации, чтобы определить, находится ли iPhone в альбомном режиме ( http://ajaxian.com/archives/iphone-windowonorientationchange-code)).

    $(window).on('resize', function(){
        if ($(this).height() > 300 && 
           (window.orientation == 90 || window.orientation == -90)) {
            // Full screen!
        } else {
            // Exit full screen!
        }
    });
Другие вопросы по тегам