2015-10-12 3 views
0

Я использую следующий код, чтобы проверить ориентацию iPad. Этот метод вызывается только при повороте устройства или изменении ориентации iPad. Если приложение запускается в альбомном режиме, и когда я перехожу к этому экрану, метод ниже не вызывается. Как я могу определить ориентацию iPad без поворота iPad.Определить ориентацию устройства iPad с помощью javascript

$(window).bind('orientationchange', function (event) { 
    if (event.orientation == "landscape") { 
     set frame for landscape 
    } else { 
     set frame for portrait 
    } 
}); 
+1

Использовать триггер. Это вызовет событие и запустит обработчик. '$ (Окно) .trigger ('orientationchange')'; – Tushar

+0

'window.innerHeight> window.innerWidth;' похоже на простое решение? – adeneo

+0

проверить этот ответ http://stackoverflow.com/questions/4917664/detect-viewport-orientation-if-orientation-is-portrait-display-alert-message-ad –

ответ

0

Мне нравится этот (я его украл):

if(window.innerHeight > window.innerWidth){ 
    alert("Please use Landscape!"); 
} 
0

Это должно работать также:

$(window).bind('orientationchange', function(event) { 
    alert('new orientation:' + event.orientation); 
}); 
0
$(window).on('load orientationchange', function(event) { 
    if(event.orientation == "landscape") 
    { 
     set frame for landscape 
    } 
    else 
    { 
     set frame for portrait 
    } 
}); 

Добавить load событие, а также. Это поможет, если экран в вопросе доступен в DOM при срабатывании window.load. Else trigger событие после экран вводится в DOM динамически (как было предложено @Tushar).

Имейте в виду, что orientation change или resize события не будут инициируются загрузки страницы на начальном этапе, если вы хотите, чтобы запустить их сначала вы должны включать load событие, а также. Или trigger их позже, если их зависит от динамических частей DOM.

+0

Заменить последний'} 'by') '; – Tushar

+0

Конечно, спасибо :). – sabithpocker

Смежные вопросы