为了账号安全,请及时绑定邮箱和手机立即绑定

在Android浏览器或WebView中检测

/ 猿问

在Android浏览器或WebView中检测

一只斗牛犬 2019-10-19 17:11:13

Javascript如何检测网站是加载到Android的常规浏览器中还是加载到另一个应用程序的WebView中?我想在这两种情况下运行略有不同的代码。



查看完整描述

3 回答

?
UYOU

活动-> onCreate


this.webView.getSettings().setUserAgentString(

    this.webView.getSettings().getUserAgentString() 

    + " "

    + getString(R.string.user_agent_suffix)

);

RES->值-> strings.xml


<string name="user_agent_suffix">AppName/1.0</string>

Java脚本


function() isNativeApp {

    return /AppName\/[0-9\.]+$/.test(navigator.userAgent);

}


查看完整回答
反对 回复 2019-10-19
?
哆啦的时光机

您可以在被请求的页面上检查服务器变量,以查看它是否来自您的应用程序,并相应地设置一个javascript变量


if($_SERVER['HTTP_X_REQUESTED_WITH'] == "com.company.app")

    echo 'var isAndroidApp=true;';

else

    echo 'var isAndroidApp=false;';

用您的软件包名称替换com.company.app


查看完整回答
反对 回复 2019-10-19
?
胡子哥哥

在较新版本的WebView,Lollipop及更高版本中,您可以通过在用户代理字符串中查找wv字段来区分WebView:


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


查看完整回答
反对 回复 2019-10-19

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信