У меня есть базовая игра для браузера, которая по какой-то причине не запускается при совместном использовании, например, в LinkedIn, потому что она запускается в webView.
Как вы можете определить, просматривается ли ваша веб-страница в WebView приложения? Особенно мне нужно решение для iOS.
Я не разработчик приложений, поэтому не знаю.
Если вы веб-разработчик, вы можете проверить это, проверив User-Agent.)
Он возвращает «Mozilla / 5.0 (Linux; Android 9; Pixel XL) AppleWebKit / 537.36 (KHTML, например, Gecko) Chrome / 71.0.3578.83 Mobile Safari / 537.36»).
Вот JSFiddle, который отвечает на этот вопрос:
var standalone = window.navigator.standalone,
userAgent = window.navigator.userAgent.toLowerCase(),
safari = /safari/.test( userAgent ),
ios = /iphone|ipod|ipad/.test( userAgent );
if ( ios ) {
if ( !standalone && safari ) {
document.getElementById( 'where-am-i' ).textContent = 'browser';
} else if ( standalone && !safari ) {
document.getElementById( 'where-am-i' ).textContent = 'standalone';
} else if ( !standalone && !safari ) {
document.getElementById( 'where-am-i' ).textContent = 'uiwebview';
};
} else {
document.getElementById( 'where-am-i' ).textContent = 'not iOS';
};
WebView отправляет User-Agent с именем и версией приложения. Не так ли?