2015-02-27 3 views
1

Я создал отзывчивое веб-приложение, которое использует некоторые простые HTML и jQuery. Когда приложение загружается в мобильном браузере, вызывается функция bootstrap modal(), которая отображает простое сообщение «bookmark to your homescreen».Обнаружение, если веб-приложение размещено на главном экране в Android

Для прошивки я могу проверить, если веб-приложение не инициализируются с главным экраном с закладки с помощью следующего фрагмента кода:

if(!window.navigator.standalone){ 
    $('#app-bookmarker').modal(); // popup the bookmark text 
    } 

Если это так, то функция modal() не дозвонилась, поэтому нет всплывающих окон.

Я пытаюсь найти простой способ добиться того же процесса для Android, кто-нибудь сделал что-то подобное? Проблема в том, что всплывающее окно будет продолжать отображаться даже при закладке.

ответ

1

К сожалению, похоже, что вы не можете сейчас. Если вы посмотрите страницу разработчика Chrome для установки на рабочий стол (https://developer.chrome.com/multidevice/android/installtohomescreen), есть FAQ, в котором говорится, что это невозможно.

How can I detect if the app is running as an installed app?

You can’t, directly.

EDIT: На самом деле, если вы создаете manifest.json для приложения, вы можете указать параметр start_url см https://developer.chrome.com/multidevice/android/installtohomescreen#supporting

Он чувствует себя немного взломанный, но вы можете добавить к этому URL запрос, например ?fromhomescreen=yes? Таким образом, вы можете решить, отображать ли всплывающее окно или нет.

2

Вы можете обнаружить, если веб-сайт был добавлен на главный экран в JavaScript, как это:

if (window.matchMedia('(display-mode: standalone)').matches) { 
    console.log("Thank you for installing our app!"); 
}

Больше информации на официальной документации Google для разработчиков: https://developers.google.com/web/updates/2015/10/display-mode

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