【web前端技术】判断是否是手机端

【web前端技术】判断是否是手机端通常在判断浏览终端类型时 会用后端来判断请求时从哪种设备发出的 根据请求中的 User Agent 来判断 但是在某些情况下 还是会用到前端检测终端类型 并进行操作 本文就是在解决这个问题 在查阅了大量网络资料后 我将这些资料进行了整理

通常在判断浏览终端类型时,会用后端来判断请求时从哪种设备发出的,根据请求中的User-Agent来判断,但是在某些情况下,还是会用到前端检测终端类型,并进行操作,本文就是在解决这个问题。在查阅了大量网络资料后,我将这些资料进行了整理。


每个客户端都带有自身的UA标识,通过JavaScript,可以获取客户端标识,我们可以获取浏览器的userAgent,用正则来判断手机是ios(苹果)还是Android(安卓)客户端。

常用跳转代码

以下是一段常用的前端检测设备类型,然后进行跳转的代码,以下代码你可以进行随意复制,修改,以达到你所要求的效果。

<script type="text/javascript"> // borwserRedirect (function browserRedirect(){ 
     var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == 'ipad'; var bIsIphone = sUserAgent.match(/iphone os/i) == 'iphone os'; var bIsMidp = sUserAgent.match(/midp/i) == 'midp'; var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == 'rv:1.2.3.4'; var bIsUc = sUserAgent.match(/ucweb/i) == 'web'; var bIsCE = sUserAgent.match(/windows ce/i) == 'windows ce'; var bIsWM = sUserAgent.match(/windows mobile/i) == 'windows mobile'; var bIsAndroid = sUserAgent.match(/android/i) == 'android'; if(bIsIpad || bIsIphone || bIsMidp || bIsUc7 || bIsUc || bIsCE || bIsWM || bIsAndroid ){ 
     window.location.href = '跳转的移动端网址'; } })(); </script> <script type="text/javascript"> <!-- //平台、设备和操作系统  var system = { 
     win: false, mac: false, xll: false, ipad:false }; //检测平台  var p = navigator.platform; system.win = p.indexOf("Win") == 0; system.mac = p.indexOf("Mac") == 0; system.x11 = (p == "X11") || (p.indexOf("Linux") == 0); system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:false; //跳转语句,如果是手机访问就自动跳转到wap.baidu.com页面  if (system.win || system.mac || system.xll||system.ipad) { 
     } else { 
     window.location.href = "http://www.jdpatro.com/3g/"; } --> </script> 

腾讯跳转

以下代码来自某腾讯的网页中的代码,同样可以起到检测网页终端,并进行跳转的功能。

<script type="text/javascript"> if(window.location.toString().indexOf('pref=padindex') != -1){ 
     }else{ 
     if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){ 
     if(window.location.href.indexOf("?mobile")<0){ 
     try{ 
     if(/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){ 
     window.location.href="http://xw..com/index.htm"; }else if(/iPad/i.test(navigator.userAgent)){ 
     //window.location.href="http://www..com/pad/" }else{ 
     window.location.href="http://xw..com/simple/s/index/" } }catch(e){ 
    } } } } </script> <script type="text/javascript"> <!-- //平台、设备和操作系统  var system = { 
     win: false, mac: false, xll: false, ipad:false }; //检测平台  var p = navigator.platform; system.win = p.indexOf("Win") == 0; system.mac = p.indexOf("Mac") == 0; system.x11 = (p == "X11") || (p.indexOf("Linux") == 0); system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:false; //跳转语句,如果是手机访问就自动跳转到wap.baidu.com页面  if (system.win || system.mac || system.xll||system.ipad) { 
     } else { 
     window.location.href = "http://www.jdpatro.com/3g/"; } --> </script> 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217415.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午9:37
下一篇 2026年3月18日 上午9:37


相关推荐

  • LARS Lasso[通俗易懂]

    LARS Lasso[通俗易懂]例子LassoLars是一个使用LARS算法的lasso模型,不同于基于坐标下降法的实现,它可以得到一个精确解,也就是一个关于自身参数标准化后的一个分段线性解。&gt;&gt;&gt;fromsklearnimportlinear_model&gt;&gt;&gt;reg=linear_model.LassoLars(…

    2022年6月15日
    40
  • 集合遍历中删除行不行「建议收藏」

    集合遍历中删除行不行「建议收藏」集合遍历中删除行不行

    2022年4月24日
    40
  • 最难数独的快速解法 – python

    最难数独的快速解法 – python转载于 www jianshu com p 1b2ee6539 python3 numpy 的学习递归算法世界最难数独芬兰数学家因卡拉 花费 3 个月时间设计出了世界上迄今难度最大的数独游戏 而且它只有一个答案 因卡拉说只有思考能力最快 头脑最聪明的人才能激活成功教程这个游戏数独解法有很多 这里练习用排除 递归回溯法 排除法很直观根据已知的数字 排除同一行 同一列 同一九宫格内

    2026年3月18日
    2
  • 如何在Java中处理Oracle返回的游标泄漏_ResultSet与Statement在finally块中的严格释放

    如何在Java中处理Oracle返回的游标泄漏_ResultSet与Statement在finally块中的严格释放

    2026年3月12日
    2
  • python找出肇事者_python100例详解

    python找出肇事者_python100例详解抓交通肇事犯1.问题描述一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记下了车号的一些特征。甲说:牌照的前两位数字是相同的:乙说:牌照的后两位数字是相同的,但与前两位

    2022年7月29日
    12
  • nohup 命令详解

    nohup 命令详解nohup 命令用途 不挂断地运行命令 语法 nohupCommand Arg amp 描述 nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令 忽略所有挂断 SIGHUP 信号 在注销后使用 nohup 命令运行后台中的程序 要运行后台中的 nohup 命令 添加 amp 表示 and 的符号 到命令的尾部 无论是否将 nohup 命令的输出重定向到

    2026年3月26日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号