js判断手机浏览器版本和是否是ios9版本

本文介绍了一种JavaScript实现的方法来检测用户所使用的移动设备及其浏览器内核类型,包括iOS、Android和其他移动平台上的常见内核如Trident、Presto、WebKit、Gecko等。此外还提供了一个函数用于判断设备是否运行iOS 9及以上版本。
<script>
        var browser = {
            versions: function () {
                var u = navigator.userAgent, app = navigator.appVersion;
                return {//移动终端浏览器版本信息
                    trident: u.indexOf('Trident') > -1, //IE内核
                    presto: u.indexOf('Presto') > -1, //opera内核
                    webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                    gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                    mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
                    ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                    android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
                    iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
                    iPad: u.indexOf('iPad') > -1, //是否iPad
                    webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
                };
            } (),
            language: (navigator.browserLanguage || navigator.language).toLowerCase()
        }
        function isIOS9() {
            //获取固件版本
            var getOsv = function () {
                var reg = /OS ((\d+_?){2,3})\s/;
                if (navigator.userAgent.match(/iPad/i) || navigator.platform.match(/iPad/i) || navigator.userAgent.match(/iP(hone|od)/i) || navigator.platform.match(/iP(hone|od)/i)) {
                    var osv = reg.exec(navigator.userAgent);
                    if (osv.length > 0) {
                        return osv[0].replace('OS', '').replace('os', '').replace(/\s+/g, '').replace(/_/g, '.');
                    }
                }
                return '';
            };
            var osv = getOsv();
            var osvArr = osv.split('.');
            //初始化显示ios9引导
            if (osvArr && osvArr.length > 0) {
                if (parseInt(osvArr[0]) >= 9) {
                    return true
                }
            }
            return false
        }
        function Return_url(app_url) {
            if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
                if (isIOS9()) {
                    window.location = "";
                }
                else {
                    window.location = "";
                }
            }
            else if (browser.versions.android) {
                window.location = app_url;
            }
            else {
                window.location = app_url;
            }
        }
  </script>

### 使用 JavaScript 检测手机是否为 iOS 设备的方法 在 JavaScript 中,可以通过检测 `navigator.userAgent` 字符串来判断设备是否为 iOS。以下是一种常见的实现方式: ```javascript // 检测是否为 iOS 设备 if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { console.log("这是一个 iOS 设备!"); } else { console.log("这不是一个 iOS 设备!"); } ``` 上述代码通过正则表达式检查 `navigator.userAgent` 是否包含与 iOS 相关的关键字(如 `iPhone`、`iPad`、`iPod` 或 `iOS`)。如果匹配成功,则表示当前设备为 iOS[^1]。 此外,还可以进一步扩展检测逻辑以获取更详细的设备信息。例如,使用以下代码可以同时检测 iOS Android 设备: ```javascript // 检测是否为 iOS 或 Android 设备 if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { console.log("这是一个 iOS 设备!"); } else if (/(Android)/i.test(navigator.userAgent)) { console.log("这是一个 Android 设备!"); } else { console.log("这不是一个移动设备!"); } ``` 这种检测方法适用于大多数场景,但需要注意的是,某些用户可能会修改其浏览器的 User-Agent 字符串,从而导致检测结果不准确[^1]。 ### 注意事项 - 在实际应用中,建议结合其他检测手段(如屏幕尺寸、触摸支持等)以提高检测准确性。 - 如果需要检测具体的 iOS 版本,可以使用 `navigator.userAgent` 中的相关信息。例如: ```javascript var ua = navigator.userAgent; if (/iP(hone|od|ad)/.test(ua)) { var iosVersion = ua.match(/OS (\d+)_/); if (iosVersion) { console.log("iOS 版本:" + iosVersion[1]); } } ``` 此代码通过正则表达式提取 iOS版本号,并输出到控制台[^1]。 ### 示例代码 以下是一个完整的 HTML 示例,展示如何检测 iOS 设备并跳转到特定页面: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>检测 iOS 设备</title> </head> <body> <script> if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { console.log("这是一个 iOS 设备!"); window.location.href = "iOS.html"; // 跳转到 iOS 页面 } else { console.log("这不是一个 iOS 设备!"); window.location.href = "other.html"; // 跳转到其他页面 } </script> </body> </html> ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值