2013-02-16 2 views
5

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

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

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

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

ответ

0

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

Однако, когда я просто приложил сообщения к телу самого html-документа, события WERE работали. Связывание события 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! 
     } 
    });