Каков наиболее эффективный и надежный способ определить, работает ли приложение в телефонной сети или просто в мобильном/настольном браузере с помощью JavaScript? Я пытаюсь устранить любые проблемы, которые мешают мне тестировать/отлаживать мои приложения телефонной связи в любом браузере (на рабочем столе или мобильном телефоне ), и создать действительно универсальную кодовую базу для своих приложений.
Я намерен структурировать свои функции с помощью вызовов, специфичных для разрыва телефонной связи, например:
if (phonegapisrunning) {
// phonegap specific javascript calls here
}
else {
// standard javascript calls here
}
В поисках решения я наткнулся на эту тему: PhoneGap :Обнаруживает, работает ли он в настольном браузере .
Хотя в этой ветке обсуждается этот вопрос, я не вижу четкого ответа на вопрос, какой метод является наиболее эффективным/надежным. Должен ли я привязываться к событию onDeviceReady ()? Должен ли я проверить window.device? Есть ли более эффективный или надежный способ проверить, работает ли приложение в телефонной связи через JavsScript?
И эта ветка, в которой упоминается плагин Ripple Chrome: Веб-приложение Phonegap в обычных настольных браузерах
Похоже, что инструменты Ripple могут быть ценным инструментом для тестирования. Но я пытаюсь заставить мои приложения телефонной связи работать в настольном браузере без плагина.
Если будет определено, что приложение не работает в телефонной связи, я бы использовал сниффинг пользовательского агента, чтобы определить, является ли браузер настольным или мобильным, и при необходимости дополнительно отделить любой код.