Как определить, просматривает ли пользователь страницу с помощью веб-просмотра для андроида или iOS?
Существуют различные решения, размещенные по всему стековому потоку, но у нас еще нет пуленепробиваемого решения для обеих ОС.
Цель - это оператор if, например:
if (android_webview) {
jQuery().text('Welcome webview android user');
} else if (ios_webview) {
jQuery().text('Welcome webview iOS user');
} else if (ios_without_webview) {
// iOS user who running safari, chrome, firefox etc
jQuery().text('install our iOS app!');
} else if (android_without_webview) {
// android user who running safari, chrome, firefox etc
jQuery().text('install our android app!');
}
То, что я пробовал до сих пор
Обнаруживать веб-просмотр iOS (источник):
if (navigator.platform.substr(0,2) === 'iP'){
// iOS (iPhone, iPod, iPad)
ios_without_webview = true;
if (window.indexedDB) {
// WKWebView
ios_without_webview = false;
ios_webview = true;
}
}
Обнаружение веб-обозревателя Android, у нас есть ряд решений, таких как this и this. Я не уверен, что уместно, потому что у каждого решения есть проблема.