千家信息网

javascript浏览器用户代理检测脚本怎么写

发表于:2024-09-28 作者:千家信息网编辑
千家信息网最后更新 2024年09月28日,本篇内容主要讲解"javascript浏览器用户代理检测脚本怎么写",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"javascript浏览器用户代理检测脚本
千家信息网最后更新 2024年09月28日javascript浏览器用户代理检测脚本怎么写

本篇内容主要讲解"javascript浏览器用户代理检测脚本怎么写",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"javascript浏览器用户代理检测脚本怎么写"吧!

以下是完整的用户代理字符串检测脚本,包括检测呈现引擎、平台、Windows操作系统、移动设备和游戏系统。

var client = function(){   // 呈现引擎  var engine = {   ie: 0,   gecko: 0,   webkit: 0,   khtml: 0,   opera: 0,   // 完整的版本号   ver: null };   // 浏览器  var browser = {   // 主要浏览器   ie: 0,   firefox: 0,   safari: 0,   konq: 0,   opera: 0,   chrome: 0,   // 具体的版本号   ver: null };   // 平台、设备和操作系统  var system = {   win: false,   mac: false,   x11: false,    // 移动设备   iphone: false,   ipod: false,   ipad: false,   ios: false,   android: false,   nokiaN: false,   winMobile: false,    // 游戏系统   wii: false,   ps: false };   // 检测呈现引擎和浏览器   var ua = navigator.userAgent;   if (window.opera){   engine.ver = browser.ver = window.opera.version();   engine.opera = browser.opera = parseFloat(engine.ver);  }  else if (/AppleWebKit\/(\S+)/.test(ua)){   engine.ver = RegExp["$1"];   engine.webkit = parseFloat(engine.ver);    // 确定是Chroeme还是Safari    if (/Chrome\/(\S+)/.test(ua)){    browser.ver = RegExp["$1"];    browser.chrome = parseFloat(browser.ver);   } else if (/Version\/(\S+)/.test(ua)){    browser.ver = RegExp["$1"];    browser.safari = parseFloat(browser.ver);   }   else {    // 近似地确定版本号     var safariVersion = 1;    if (engine.webkit < 100){     safariVersion = 1;    } else if (engine.webkit < 312){     safariVersion = 1.2;    } else if (engine.webkit < 412){     safariVersion = 1.3;    } else {     safariVersion = 2;    }        browser.safari = browser.ver = safariVersion;     }  }  else if (/KHTML\/(\S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)){   engine.ver = browser.ver = RegExp["$1"];   engine.khtml = browser.konq = parseFloat(engine.ver);  }  else if (/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)){   engine.ver = RegExp["$1"];   engine.gecko = parseFloat(engine.ver);      // 确定是不是Firefox    if (/Firefox\/(\S+)/.test(ua)){    browser.ver = RegExp["$1"];    browser.firefox = parseFloat(browser.ver);   }  }  else if (/MSIE ([^;]+)/.test(ua)){    engine.ver = browser.ver = RegExp["$1"];   engine.ie = browser.ie = parseFloat(engine.ver);  }   // 检测浏览器  browser.ie = engine.ie;  browser.opera = engine.opera;   // 检测平台  var p = navigator.platform;  system.win = p.indexOf("Win") == 0;  system.mac = p.indexOf("Mac") == 0;  system.x11 = (p == "x11") || (p.indexOf("Linux") == 0);   // 检测windows操作系统  if(system.win){   if(/win(?:dows )?([^do]{2})\s?(\d+\.\d+)?/.test(ua)){    if(RegExp["$1"] == "NT"){     switch(RegExp["$2"]){      case "5.0":       system.win = "2000";       break;      case "5.1":       system.win = "XP";       break;      case "6.0":       system.win = "Vista";       break;      case "6.1":       system.win = "7";       break;      default:       system.win = "NT";       break;     }    }    else if(RegExp["$1"] == "9x"){     system.win = "ME";    }    else{     system.win = RegExp["$1"];    }   }  }   // 移动设备  system.iphone = ua.indexOf("iPhone") > -1;  system.ipod = ua.indexOf("iPod") > -1;  system.ipad = ua.indexOf("iPad") >-1;  system.nokiaN = ua.indexOf("NokiaN") > -1;   // windows mobile  if(system.win == "CE"){   system.winMobile = system.win;  }  else if(system.win == "Ph" ){   if(/Windows Phone OS (\d+.\d+)/.test(ua)){    system.win = "Phone";    system.winMobile = parseFloat(RegExp["$1"]);   }  }   // 检测IOS版本  if(system.mac && ua.indexOf("Mobile")> -1){   if(/CPU (?:Phone )?OS (\d+_\d+)/.test(ua)){    system.ios = parseFloat(RegExp.$1.replace("_","."));   }   else{    system.ios = 2;    // 不能真正检测出来,所以只能猜测   }  }   // 检测Android版本  if(/Android (\d+\.\d+)/.test(ua)){   system.android = parseFloat(RegExp.$1);  }   // 游戏系统  system.wii = ua.indexOf("Wii") > -1;  system.ps = /playstation/i.test(ua);   // 返回这些对象  return {   engine:  engine,   browser: browser,   system:  system    };   // console.log(engine);  // console.log(browser);  // console.log(system); }();

到此,相信大家对"javascript浏览器用户代理检测脚本怎么写"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

检测 浏览器 浏览 版本 系统 用户 脚本 代理 引擎 游戏系统 设备 操作系统 内容 平台 学习 移动 实用 更深 兴趣 字符 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 部队手机网络安全黑板报图片 湖北云虚拟主机云服务器 开机可以进入网络安全模式 万方数据库和中国知网的特点 齐向东网络安全 matlab数据库后缀名 吉林省龙程网络技术 青少年网络安全培养需要做到 中国石化网络安全宣传周 数据中心网络安全产品 方舟服务器传送丢物品 一个人的网络技术 焦作软件开发电话 学编程还是软件开发好 软件开发 8g内存够用吗 软件开发网页版还是客户端好 淮安西宝网络技术工作室地址 浙江5g专业服务器机柜 备用dns服务器怎么查询 显示当前数据库的所有数据表 软件开发遇到的技术难题 网络技术专员工作环境 四叶草网络安全有限公司加班情况 网络安全发现运营商 课后答案软件开发 TCGA数据库基础 为什么选择小众的原生数据库 寻仙以前的紫岚山在哪个服务器 2u服务器硬盘集中供电 接口压力测试会影响服务器吗
0