2013-07-22 2 views
2

Я создам webapp своего веб-сайта. Я слышал о многих услугах, которые упрощают:Как узнать, запущен ли я на своем веб-сайте в мобильном или мобильном приложении?

Я хочу создать мобильные приложения, используя инструменты, которые переносят HTML5/CSS/JS в приложение для развертывания приложения типа приложения, но также хотят использовать исходный HTML5/CSS/JS для моего обычного веб-сайта (AppMakr, AppsBuilder, AppGeyser ...)

Существует способ, чтобы быть в состоянии сказать от JS ли он работает в браузере или в мобильном приложении?

Любой совет, помощь или совет будут оценены, и если вам нужна дополнительная информация, сообщите мне, и я отредактирую сообщение.

+0

ли вы имеете в виду браузер в мобильный или браузер на ПК? –

+0

@ tato469 - Я думаю, что OP означает любой браузер (мобильный или ПК) и работает как приложение, созданное с помощью таких инструментов, как [Sencha Touch] (http://www.sencha.com/products/touch) или [PhoneGap] (http : //phonegap.com/about/) - снова прочитайте второй параграф. – nnnnnn

+0

Я не эксперт в этой области, но я думаю, что вам нужно сделать 2 веб-приложения в этом случае. Если это не так, вы можете проверить здесь http://www.javascripter.net/faq/operatin.htm, вы можете получить ОС устройства. –

ответ

1

Чтобы отличить запрос http от мобильного приложения или мобильного браузера, вы можете использовать пользовательский агент. Для сафари/Ios соответствующих примеров пользовательского агента являются следующими:

мобильного Browswer:

Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari 

Mobile App:

Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile 

чек в этом случае будучи для мобильных устройств против «Version/5.0 .2 Mobile/8H7 Safari "на конце.

Чтобы сделать одну проверку в андроида, вы можете сделать следующее:

function() isNativeApp { 
    return /AppName\/[0-9\.]+$/.test(navigator.userAgent); 
} 

агентом пользователя, при попытке добавить содержимое в WebView с JavaScript включен.

Обратите внимание, что проверки определенных пользовательских агентов нецелесообразны, поскольку номера версий постоянно меняются, это всего лишь пример логики/информации, которую вы можете использовать. Библиотеки совместимости браузеров, такие как JQuery, предоставляют утилиты для интеллектуального «browswer», которые должны позволить вам это гораздо безопаснее, чем приведенная выше логика. Это всего лишь краткий обзор информации, которую вы ищете. Кстати, проверка конкретных пользовательских агентов - это BAD IDEA ... в порядке.

Ссылки:

Detect inside Android Browser or WebView

Does UIWebView send the same User-Agent in the Request Headers as mobile Safari?

+0

Действительно благодарен за этот полный ответ! : D – harrison4

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