admin管理员组

文章数量:1562462

1.在前端开发过程中,遇见过一个需求,需要 H5页面 判断是在手机APP内打开,还是在手机浏览器里面打开的。
2.js 获取 window.navigator.userAgent 浏览器信息,唯一的区别是在最后面会有一个当前APP里面的协议头。使用APP的协议头来加以判断。例如下面获取的信息后面会有一个 xxxpay的标识



3.然后我们可以使用JS方法来判断,建议使用三种方式以或者的条件进行判断,预防众多安卓的兼容性问题。
**var userAgent = window.navigator.userAgent;
if(userAgent.indexOf(‘你的app协议头’) > -1|| userAgent.search(‘你的app协议头’) -1){
// 是当前APP打开的页面
}else{
// 不是当前APP打开的页面
}

方式一:
userAgent.indexOf(‘你的app协议头’);
方式二:
userAgent.search(‘你的app协议头’);

以下代码可以查看当前app的协议头

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        body{
            color: red;
            font-size: 30px;
        }
    </style>
</head>
<body>
<script>
    document.body.innerText = navigator.userAgent;
    if(userAgent.indexOf('你的app协议头') > -1|| userAgent.search('你的app协议头') > -1){
		// 是当前APP打开的页面
	}else{
		// 不是当前APP打开的页面
	}
</script>
</body>
</html>

本文标签: 是在手机浏览器页面js