h5 怎么判断安卓,ios,微信浏览器,app环境

news/2024/7/20 20:16:00 标签: android, ios, html5

ios_0">1. 判断是否是安卓还是ios

var ua = window.navigator.userAgent.toLowerCase();
if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
             //ios环境
} else if (navigator.userAgent.match(/android/i)) {
            //安卓环境
}

2.判断是微信浏览器、app进入的H5、手机自带的浏览器

var ua = window.navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
	//微信浏览器
}else if(ua.match(/isapp/i) == "isapp"){
	//从手机App里面打开的
	//注释:"isapp"需要app端配置,否则ua里面是没有"isapp"这个字段的
}else{
	//其他的浏览器
}

3.H5:点击按钮,如果手机端有app就打开app,没有app就去应用市场下载

借用网上的方法:

1. url :跳转app
2. downUrl_iosios应用市场
3. downUrl_android :安卓应用市场

openApp(url, downUrl_ios, downUrl_android) {
        var ua = window.navigator.userAgent.toLowerCase();
        if (ua.match(/MicroMessenger/i) == 'micromessenger') {//是否是微信浏览器
          if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {//是否是ios
                window.location = ""; //填写地址
            } else if (navigator.userAgent.match(/android/i)) { //是否是安卓
                window.location = ""; //填写地址
            }
        }else{ //其他的浏览器
            if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {//ios
              var loadDateTime = new Date();
              window.location.href = url;  
              window.setTimeout(function () {
                var timeOutDateTime = new Date();
                if (timeOutDateTime - loadDateTime < 1000) {
                  window.location.href = downUrl_ios;//ios下载地址
                } else {
                  window.close();
                }
              }, 2000);
            } else if (navigator.userAgent.match(/android/i)) { //安卓端
                var state = null;
                var loadDateTime2 = new Date();
                window.location.href = url;
                window.setTimeout(function () {
                  var timeOutDateTime2 = new Date();
                  if (timeOutDateTime2 - loadDateTime2 < 1000) {
                    window.location.href = downUrl_android; //android下载地址
                  } else {
                    window.close();
                  }
                }, 2000);
            }
        }
    },

http://www.niftyadmin.cn/n/1184727.html

相关文章

前端的数字转化为文字

数字转化为汉字 function convertCurrency(money) {//汉字的数字let cnNums new Array(零, 壹, 贰, 叁, 肆, 伍, 陆, 柒, 捌, 玖);//基本单位let cnIntRadice new Array(, 拾, 佰, 仟);//对应整数部分扩展单位let cnIntUnits new Array(, 万, 亿, 兆);//对应小数部分单位le…

js表格导出功能

文档导出功能–Dome <html><head><p style"font-size: 20px;color: red;">使用table标签方式将json导出xls文件</p><button onclicktableToExcel()>导出</button><input type"file" onchange"upload(0)"…

前后端配合续传

一、首先&#xff0c;为了引入文件对象&#xff0c;需要在H5页面上放置一个file类型的输入标签。 二、写一个简单的获取文件的方法 function fileInfo() { let fileObj document.getElementById(‘file’).files[0]; } 三、当我们获取到选择的文件对象之后&#xff0c;现…

vue兄弟传值:

vue兄弟传值&#xff1a; 假设&#xff1a;A与B为兄弟组件&#xff0c;此刻需要AB组件相互通信 步骤&#xff1a; 1.创建一个js文件&#xff1a; import Vue from Vue; export default new Vue;2.A组件&#xff1a;引入js <script> import bus from ./Vue //引入步骤…

SQL中limit的用法详解

limit子句用于限制查询结果返回的数量 用法&#xff1a; MySQL中这样用 【select * from limit tableName limit i,n 】参数&#xff1a; tableName : 为数据表&#xff1b; i : 为查询结果的索引值&#xff08;默认从0开始&#xff09;&#xff1b; n : 为查询结果返回的数…

IDEA的debug详细教程,转文

原文链接&#xff1a;http://www.yxlzone.top/show_blog_details_by_id?id2bf6fd4688e44a7eb560f8db233ef5f7 本文转自上述链接&#xff0c;怕忘记&#xff0c;所以写成博客发表&#xff01; 在现在的开发中&#xff0c;我们经常采用Debug来追踪代码的运行流程&#xff0c;通…

java报nested exception is org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found错误解决方法

在写一个分页功能的时候用到了mybatis插件&#xff0c;当传入参数的时候报如下错误&#xff0c;折腾了很久&#xff0c;也没有发现错误&#xff0c;代码层找人看了也没有任何问题&#xff0c;现在已解决&#xff0c;记录经过以备忘 org.mybatis.spring.MyBatisSystemException…

mybatis处理mapper.xml文件中大于小于等关系运算符的方式

在mybatis的mapper.xml文件中如果输入大于、小于和求和运算符时&#xff0c;发现会编译报错&#xff0c;因此我们需要对他们进行特殊处理。方式如下&#xff1a; 方法一&#xff1a;用了转义字符把>和<替换掉 SELECT * FROM student WHERE 1 1 AND start_time < CU…