Comment Javascript peut-il détecter si un site Web est chargé dans le navigateur de stock d'Android ou chargé dans une vue Web d'une autre application ? Je voudrais utiliser un code légèrement différent dans ces deux cas.
Réponses
Trop de publicités?Activité -> onCreate
this.webView.getSettings().setUserAgentString(
this.webView.getSettings().getUserAgentString()
+ " "
+ getString(R.string.user_agent_suffix)
);
Res -> Valeurs -> strings.xml
<string name="user_agent_suffix">AppName/1.0</string>
Javascript
function() isNativeApp {
return /AppName\/[0-9\.]+$/.test(navigator.userAgent);
}
Sean
Points
289
Vous pouvez vérifier les variables du serveur sur la page qui est demandée pour voir si elle provient de votre application et définir une variable javascript en conséquence
if($_SERVER['HTTP_X_REQUESTED_WITH'] == "com.company.app")
echo 'var isAndroidApp=true;';
else
echo 'var isAndroidApp=false;';
- remplacer com.company.app par le nom de votre forfait
pera
Points
392
Dans les nouvelles versions de WebView, Lollipop et supérieures, vous pouvez différencier le WebView en recherchant le champ wv dans la chaîne de l'agent utilisateur :
Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Mobile Safari/537.36
https://developer.chrome.com/multidevice/user-agent#webview_user_agent