Определите, как был загружен неполноэкранный WebApp (Главный экран v. Safari) - PullRequest
2 голосов
/ 09 декабря 2011

Легко определить, как был запущен полноэкранный WebApp (то есть WebApps, включающий <meta name="apple-mobile-web-app-capable" content="yes">) - просто отметьте window.navigator.standalone

Можно ли сделать то же самое для неполноэкранного WebApp?

Я хочу показать пользователю пузырь «Закладка этой веб-страницы» (как на http://youtube.com),, но не хочу показывать его, если веб-страница была запущена с главного экрана.

Я почти уверен, что это возможно, поскольку YouTube не является полноэкранным веб-приложением, и на нем не отображается надпись "Закладка для меня!" пузырь, когда его запускают с домашнего экрана

Ответы [ 4 ]

2 голосов
/ 03 марта 2012

Гораций, вы можете ознакомиться с закомментированным исходным кодом JavaScript, который, возможно, они использовали в своей схеме обнаружения пузырей на YouTube, по адресу http://code.google.com/p/mobile-bookmark-bubble

2 голосов
/ 27 января 2012
if ('standalone' in navigator && !navigator.standalone && (/iphone|ipod|ipad/gi).test(navigator.platform) && (/Safari/i).test(navigator.appVersion)) {
        document.write('<link rel="stylesheet" href="add2home.css">');
        document.write('<script type="application/javascript" src="add2home.js"><\/s' + 'cript>');
}

это небольшой скрипт, пришедший с cubiq.org / add-to-home-screen , кажется, выполняет свою работу

Конечно, если вы не используете скрипт add2home, вам следует изменить имена файлов.

2 голосов
/ 11 декабря 2011

Возможно, я что-то упустил в вашем вопросе, но: window.navigator.standalone сообщает, является ли приложение в настоящее время в полноэкранном режиме или нет (если браузер вообще поддерживает это свойство).

Это означает, что если свойство есть, и оно ложно, вы можете предложить свою кнопку закладки. Если это так и есть, не показывать его (приложение уже запущено с главного экрана). Если свойство отсутствует, не показывайте кнопку закладки, потому что пользовательский агент не поддерживает его.

Попробуйте, например, посетить www.luscarpa.com. Используйте Safari, а затем добавьте его в закладки на домашний экран и заметьте разницу.

Он также имеет информацию о полноэкранном режиме (вот где я узнал об этом): http://www.luscarpa.com/development/make-your-website-an-iphone-web-application/

1 голос
/ 12 декабря 2011

посмотрите на URL веб-сайта YouTube, открытый в Safari, в последней части URL есть home /? Bmb = 1, я думаю, что bmb = 1 действительно имеет значение, когда вы добавляете эту страницу в закладки, URL будет включать эту переменную bmb, а затем, когда вы нажмете кнопку домашнего веба, на стороне сервера вы сможете обнаружить это и узнать, что это из домашней веб-кнопки.

...