Проверить установку домашней страницы iOS - HTML5 - PullRequest
1 голос
/ 06 марта 2012

Я недавно купил iPod, чтобы я мог тестировать свои собственные игры HTML5 на iOS, и, осматриваясь, я нашел это приложение HTML5:

http://www.apple.com/webapps/games/goldnuggets.html

Если вы загрузите эту страницу с iPod или iPhone, вы сможете играть в игру.

Что мне запомнилось в этом приложении, так это то, что когда вы пытаетесь загрузить его, оно заставляет вас «установить» (сохранить) его на своей домашней странице, прежде чем вы сможете играть. Преимущество этого заключается в том, что приложение HTML5 получает полноэкранную область для работы при запуске с домашней страницы, как обычное приложение для iOS (в отличие от того, что оно закрыто адресной строкой и этой панелью команд внизу).

Мне было интересно, как я могу проверить, было ли приложение добавлено на домашнюю страницу (а не на функцию «добавить на домашнюю страницу» - что в соответствии с этой веткой невозможно) Javascript для «Добавить на домашний экран» в iPhone? ).

Я, конечно, мог бы использовать дополнительные 100 пикселей, и это позволило бы мне легко создать версию для iOS и версию HTML5 с соответствующими интерфейсами и улучшить взаимодействие с пользователем.

Есть идеи? Поиск в Google ничего не дал мне.

Ответы [ 2 ]

4 голосов
/ 06 марта 2012

TL; DR window.navigator.standalone

И все, что вам нужно в http://www.bennadel.com/blog/1950-Detecting-iPhone-s-App-Mode-Full-Screen-Mode-For-Web-Applications.htm

Удачи!

0 голосов
/ 06 марта 2012

Одна мысль - добавить закладку / избранное через JavaScript (вызывается из события onclick):

window.external.AddFavorite( url + "?somevariablethatsaysitisok=true", "MyGameName");

, что, я полагаю, будет работать и для iOS Safari.

В его части URL вы можете передать аргумент, который, если установлен, позволит играть в игру. Если не установлено, показывать только ссылку на закладку

Вы можете либо браузером обнаружить серверную сторону, либо, если я правильно помню, использовать javascript navigator.userAgent или navigator.appVersion, чтобы увидеть, содержит ли он iPhone / iOS. Конечно, я бы проверил, чтобы убедиться, что вы получите точную строку, но это общая идея.

...