Come rilevare se l'utente sta visualizzando la pagina utilizzando WebView per Android o iOS?rilevare se l'utente sta utilizzando WebView per Android/iOS o un normale browser
Ci sono varie soluzioni pubblicate su stackoverflow, ma non abbiamo ancora una soluzione a prova di proiettile per entrambi i sistemi operativi.
L'obiettivo è un'istruzione if, ad esempio:
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's running safari, chrome, firefox etc
jQuery().text('install our iOS app!');
} else if (android_without_webview) {
// android user who's running safari, chrome, firefox etc
jQuery().text('install our android app!');
}
Quello che ho provato finora
Rileva iOS WebView (source):
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;
}
}
Detect Android webview, abbiamo un numero di soluzioni come this e this. Non sono sicuro di quale sia il modo appropriato di procedere perché ogni soluzione sembra avere un problema.
La WebView utilizzata nell'app? – david8
Sì, è come puoi vedere. :) –
Avete considerato di utilizzare l'intestazione personalizzata User-Agent in WebView per differenziare? @ Henrik – david8