2013-05-20 4 views
1

Я пытаюсь предупредить пользователей мобильных устройств на моем сайте, чтобы использовать их устройства в ландшафтном режиме. У меня появляется предупреждение, но, похоже, он попадает в бесконечный цикл. Как я могу остановить этот цикл после того, как пользователь нажал ОК?Javascript Предупреждение о ориентации на мобильных устройствах

Вот код:

window.ondeviceorientation = detectIPadOrientation; 
function detectIPadOrientation() 
{ 
    if (orientation == 0 || orientation == 180){ 
     alert ('Please use your iPad in landscape mode'); 
    } 
} 
+2

FWIW, рассказывая людям, что делать с их устройством, не является лучшей практикой UX. – Pointy

+0

Это только для определенной страницы не для всего сайта. @Pointy –

+0

Возможно, это связано с тем, как быстро iOS перепроверяет положение экрана - снова и снова, я полагаю. Вы можете установить флаг, который обеспечит его всплытие только один раз. 'var pop = true;' 'if (orientation ... && pop) {alert (...); pop = false};} ' – rGil

ответ

1

Вы можете сделать пользователь сайта Уведомления, которые используют мобильные устройства, а не только тогда, когда устройство находится в ландшафте.

This question, вероятно, поможет вам.


Или, ответ на ваш точный вопрос может быть на this duplicate question.


Вы также можете попытаться идентифицировать пользователя с

var isiPad = navigator.userAgent.match(/iPad/i) != null; 

И послав ему предупреждение, если это не равно NULL

Я надеюсь, что это помогло вам.

+0

Это не сработало для меня, но я думаю, что нашел ответ. –

+0

Вместо этого я использовал следующий код 'window.onload = function() {if (window.orientation == 0 || window.orientation == 180) {alert ('Пожалуйста, используйте свой iPad в ландшафтном режиме'); }} ' –

+0

Хорошо, если этот метод работал, то отправьте его как ответ. Поздравления. Хорошего дня. – HelpingHand

2

Следующий код отправит предупреждение на основе ориентации экрана. Предупреждение будет отправлено только в том случае, если экран находится в альбомном режиме.

window.onload = function() { 
    if (window.orientation == 0 || window.orientation == 180) { 
     alert ('Please use your mobile device in landscape mode'); 
    } 
}; 
Смежные вопросы