Определение ориентации Windows Phone

Я использую событие JavaScript onorientationchange и параметр window.orientation для обнаружения изменений ориентации и значений ориентации на моем веб-сайте. Это хорошо работает с iPhone и Android. Но Windows Phone не запускает событие onorientationchange, а window.orientation не определено. Как определить изменение ориентации Windows Phone?

Спасибо, Конрад


person Konrad    schedule 02.09.2011    source источник
comment
Теги iphone android и mobilen неверны, пожалуйста, отредактируйте эти теги   -  person Aracem    schedule 02.09.2011


Ответы (3)


IE9Mobile не поддерживает эти события.

Если ваша страница отображается внутри элемента управления WebBrowser в приложении (silverlight), вы можете обнаружить изменение ориентации на уровне приложения, а затем вызвать сценарии на странице для передачи этой информации.

Если вы просто работаете в браузере, то нет возможности обнаружить изменения ориентации.

person Matt Lacey    schedule 02.09.2011
comment
Спасибо. Я также обнаружил, что IE9Mobile не поддерживает различные базовые функции JavaScript, такие как document.getElementById. - person Konrad; 05.09.2011

В CSS3 (хорошо работает с Mango, не знаю, в классическом IE9 Mobile, но, возможно):

@media screen and (max-width: 480px)
{
/* CSS for Orientation Vertical */
}
@media screen and (min-width: 481px)
{
/* CSS for Orientation Horizontal */
}

Дайте мне знать, если это сработало!

person Zozo    schedule 13.09.2011
comment
До сих пор на моем телефоне не было Mango. Но я надеюсь, что все, что работает с iPhone и Android, будет работать и с WinPhone. Поскольку я выполняю некоторые другие JS-задачи по очереди, я надеюсь, что помимо CSS3 в IE от Mango появятся новые функции. - person Konrad; 15.09.2011

Изменение CSS, пожалуй, лучший способ обнаружить изменения ориентации, но, если вы похожи на меня и вам просто нужен быстрый и грязный способ узнать текущую ориентацию, тогда это сделает работу.

var isLandscape = $(window).width() > $(window).height();

Что бы это ни стоило, это похоже на реализацию window.orientation ios-and-android">отличается на некоторых платформах поэтому вам может понадобиться проверить, какое устройство используется.

person Ian    schedule 13.10.2015