2010-03-10 2 views
3

Я использую jQTouch для разработки версии веб-сайта, оптимизированного для сафари на iphone. В демонстрации jQTouch показано, как показывать сообщение «установить это» для пользователей, не использующих полноэкранный режим, и скрывать их для тех, кто есть. Когда в полноэкранном режиме тело должно иметь класс «fullscreen». Таким образом, вы можете скрыть «установить это» сообщение для людей, которые уже добавили приложение к своей домашней странице, добавив это правило CSS в таблицу стилей:Как требовать полноэкранный режим в приложении jQTouch?

body.fullscreen #home .info { 
    display: none; 
} 

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

Это должно быть действительно, очень легко, поэтому я должен просто пропустить что-то очевидное.

Я думал, что одним из способов сделать это было бы просто проверить класс «fullscreen» на теле: если его нет, используйте goTo для перехода к другому div или скрыть другие divs или что-то в этом роде.

Странно, однако, это не работает. В качестве теста у меня все еще есть оригинальное сообщение «info», как в демоверсии jQTouch, и оно не появляется при запуске в полноэкранном режиме. Таким образом, корпус должен иметь полноэкранный класс. И все же я не могу найти какой-либо другой след этого: когда я ставлю это предупреждение, чтобы проверить вещи после загрузки документа, я ничего не получаю при запуске в полноэкранном режиме:

alert($("body").attr("class")); 

Я также думал, что я мог бы проверить полноэкранный режим, проверяя значение fullScreen boolean. Но это тоже не работает. Что мне не хватает? Каков наилучший способ сделать это?

ответ

2

Ну, я не мог понять, почему стандартный способ не работает, а кто-то на jQTouch группы Google предложил это, который работает:

if (window.navigator.standalone) { 
    alert ('Thanks for launching this app your home screen') 
} else { 

    alert('Add this app to your home screen for the best experience') 

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