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!
}
});