JS判断是否是手机端访问:

  1. var is_mobi = navigator.userAgent.toLowerCase().match(/(ipod|iphone|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i) != null;
  2. if (is_mobi) {
  3. window.location.href = "http://m.xxx.com";
  4. }

JS判断安卓浏览器、IOS浏览器、微信浏览器等:

  1. /**
  2. * 网页浏览器信息对象
  3. * <br />判断是否IE浏览器、是否微信浏览器、是否安卓系统、是否IOS系统等
  4. * @since 1.0 2017-7-5
  5. */
  6. var webrowser = {
  7. // 判断浏览器
  8. browser: {
  9. versions: function () {
  10. var u = navigator.userAgent, app = navigator.appVersion;
  11. return {//移动终端浏览器版本信息
  12. trident: u.indexOf('Trident') > -1, //IE内核
  13. presto: u.indexOf('Presto') > -1, //opera内核
  14. webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
  15. gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
  16. mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
  17. ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
  18. android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器
  19. iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
  20. iPad: u.indexOf('iPad') > -1, //是否iPad
  21. iPod: u.indexOf('iPod') > -1, //是否iPod
  22. webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
  23. };
  24. }(),
  25. language: (navigator.browserLanguage || navigator.language).toLowerCase()
  26. },
  27. // ie10及以上不支持ie浏览器的判断了,因为ie11已经不支持document.all了,下面是支持ie11的版本的,当然ie6-8也是支持的
  28. isIE: function () {
  29. return (!!window.ActiveXObject || "ActiveXObject" in window);
  30. },
  31. isIOS: function () {
  32. return (browser.versions.iPhone || browser.versions.iPad || browser.versions.iPod);
  33. },
  34. isAndroid: function () {
  35. return browser.versions.android;
  36. },
  37. isPC: function () {
  38. return !browser.versions.mobile;
  39. },
  40. isWeibo: function () {
  41. //在新浪微博客户端打开
  42. var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
  43. return (browser.versions.mobile && ua.match(/WeiBo/i) == "weibo");
  44. },
  45. isWechat: function () {
  46. //在微信中打开
  47. var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
  48. return (browser.versions.mobile && ua.match(/MicroMessenger/i) == "micromessenger");
  49. },
  50. isQQ: function () {
  51. //在QQ空间打开
  52. var ua = navigator.userAgent.toLowerCase();//获取判断用的对象
  53. return (browser.versions.mobile && ua.match(/QQ/i) == "qq");
  54. }
  55. };
  56. // test
  57. console.log(webrowser.isIE());

版权声明:本文采用署名-非商业性使用-相同方式共享(CC BY-NC-SA 3.0 CN)国际许可协议进行许可,转载请注明作者及出处。
本文标题:代码收藏系列--javascript--移动端技巧
本文链接:http://www.cnblogs.com/sochishun/p/7072528.html
本文作者:SoChishun (邮箱:14507247#qq.com | 博客:http://www.cnblogs.com/sochishun/)
发表日期:2017年7月5日

代码收藏系列--javascript--移动端技巧的更多相关文章

  1. 代码收藏系列--jquery--筛选器、事件绑定技巧

    Jquery筛选器的一些常用技巧,比如过滤属性等 /* 过滤获取没有含data-xsui-grid-colspan的节点 */$(this).find('.xsui-grid-cell:not([da ...

  2. 代码收藏系列--jquery--筛选器、事件绑定技巧(转载)

    代码收藏系列--jquery--筛选器.事件绑定技巧 Jquery筛选器的一些常用技巧,比如过滤属性等 /* 过滤获取没有含data-xsui-grid-colspan的节点 */$(this).fi ...

  3. 代码收藏系列--php--生成简短唯一订单号(转载)

    代码收藏系列--php--生成简短唯一订单号 /** * 生成商家交易单号 * <br />特点:不重复 * <br />示例: * <br />普通付款:arra ...

  4. 代码收藏系列--php--生成简短唯一订单号

    /** * 生成商家交易单号 * <br />特点:不重复 * <br />示例: * <br />普通付款:array('shop_id'=>1,'prod ...

  5. 代码收藏系列--javascript--日期函数

    /** * 获取当前时间的简短函数 * @returns {String} * @@example getTimeStamp() 结果是:2017-07-12 09:21:30 */ function ...

  6. 代码收藏系列--mysql--创建数据库、数据表、函数、存储过程命令

    创建mysql数据库 CREATE DATABASE IF NOT EXISTS `database_name` DEFAULT CHARSET utf8 COLLATE utf8_general_c ...

  7. 代码收藏系列--php--加载sql文件并解析成数组

    php加载sql文件,解析成以分号分割的数组.(支持存储过程和函数提取,自动过滤注释) /** * 加载sql文件为分号分割的数组 * <br />支持存储过程和函数提取,自动过滤注释 * ...

  8. Android中代码设置RadioButton的高端技巧

    不知道怎么起标题,就这样了. 目前主要讲两个方面内容: 代码方式 设置RadioButton的 android:button . android:background 等属性为 @null : 代码方 ...

  9. JavaScript初学者福利!必须收藏的24条小技巧

    JavaScript初学者福利!必须收藏的24条小技巧 前端小编 发布于 2013-12-15 22:52 查看数: 2343 评论数: 6 帖子模式 这篇文章将回顾JavaScript的知识 !如果 ...

随机推荐

  1. xampp服务器搭建和使用

    1.安装完XAMPP后会出现Apache端口被占用的问题,一下方法解决 错误信息如下: Error: Apache shutdown unexpectedly. 9:37:01  [Apache] T ...

  2. CentOS7.3部署镜像仓库Harbor

    参考文档: harbor介绍:https://github.com/vmware/harbor harbor安装&使用指导:https://github.com/vmware/harbor/b ...

  3. Fast R-CNN学习总结

    Fast R-CNN是R-CNN的改良版,同时也吸取了SPP-net中的方法.在此做一下总结. 论文中讲到在训练阶段,训练一个深度目标检测网络(VGG16),训练速度要比R-CNN快9倍左右,比SPP ...

  4. 【Python入门学习】闭包&装饰器&开放封闭原则

    1. 介绍闭包 闭包:如果在一个内部函数里,对在外部作用域的变量(不是全局作用域)进行引用,那边内部函数被称为闭包(closure) 例如:如果在一个内部函数里:func2()就是内部函数, 对在外部 ...

  5. Python基础知识-06-集合内存布尔False

    python其他知识目录 1.判断一个字符串中是否有敏感字符? #str: m_str="我叫魔降风云变" if "魔" in m_str: #判断指定字符是否 ...

  6. strace 命令

    介绍 strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核 ...

  7. Coin Game

    Problem Description After hh has learned how to play Nim game, he begins to try another coin game wh ...

  8. 【Alpha】阶段第五次Scrum Meeting

    [Alpha]阶段第五次Scrum Meeting 工作情况 团队成员 今日已完成任务 明日待完成任务 刘峻辰 增加课程接口 增加教师接口 赵智源 整合前端进行部署 构建后端测试点测试框架 肖萌威 编 ...

  9. AJAX请求.net controller数据交互过程

    AJAX发出请求 $.ajax({ url: "/Common/CancelTaskDeal", //CommonController下的CancelTaskDeal方法 type ...

  10. 软工1816 · Alpha冲刺(7/10)

    团队信息 队名:爸爸饿了 组长博客:here 作业博客:here 组员情况 组员1(组长):王彬 过去两天完成了哪些任务 学会了POSTMAN的使用,对后端已经完成的接口进行了收发消息正确性的验证 推 ...