У меня есть веб-страница, которая использует собственные обработчики протоколов для открытия приложений. Одна ссылка на приложение iTunes store для людей, чтобы загрузить приложение Picup, а другая ссылка на fileupload: //, чтобы открыть приложение Picup.
Когда страница загружается в Safari, встроенный в другое приложение (например, сканер штрих-кода 1-шагового сканера), при переходе на эти пользовательские протоколы появляется сообщение об ошибке - Ошибка, не удалось загрузить веб-страницу! Пожалуйста, попробуйте еще раз.
Я намерен использовать JavaScript, чтобы определить, загружена ли веб-страница во встроенном браузере, и показать сообщение с просьбой использовать Safari.
Одним из способов является обнаружение строки пользовательского агента
Embedded
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A405
Safari
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
Однако обнаружение наличия / отсутствия слова Safari в строке пользовательского агента применимо для всех версий iPhone? Есть ли более надежный метод?