手机
当前位置:查字典教程网 >编程开发 >相关技巧 >判断所使用的浏览器不仅仅是电脑浏览器代码整理
判断所使用的浏览器不仅仅是电脑浏览器代码整理
摘要:判断不仅包括电脑浏览器,还包括安卓、ios系统的手机以及平板电脑,游戏系统复制代码代码如下:varclient=function(){//呈...

判断不仅包括电脑浏览器,还包括安卓、ios系统的手机以及平板电脑,游戏系统

复制代码 代码如下:

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,

max : false,

x11 : false,

//移动设备

iphone : false ,

ipod : false,

ipad : false,

ios : false,

android : false,

nokiaN : false,

winMoble : false,

//游戏系统

wii :false,

ps : false

};

var ua =navigator.userAgent;

//Opera 9以后出现了两种字符串代理的方式 一种方式就是将自身标识另外一个浏览器 另外一种方式就是标志自己为firefox或者IE

//在后面这种情况下 用户代理字符串实际上与其他浏览器返回的相同--既没有opera的字样,也不包含opera的版本信息

//因此判断浏览器先从opera开始

if(winddow.opera){

engine.ver = browser.ver = window.opera.version();

egine.opera = browser.opera = parseFloat(engine.ver);

//第二个检测WebKit 是因为WebKit的用户代理字Gecko"和"HTMKL"的字符串 所以如果首先检测他们都有错误的结论

}else if (/AppleWebKit/(S+)/.test(ua)){

engin.ver = RegExp["$1"];

engine.webkit = parseFloat(engine.ver);

//确定是chrome还是Safari

if(/Chrome/(S+)/.test(ua){

browser.ver = RegExp["$1"];

browser.chrome = parseFloat(brower.ver);

}else if(/Version/(+S)/.test(ua)){//safari 3.0后增加了Version属性

browser.ver = RegExp["$1"];

browser.safari = parseFloat(brower.ver);

}else{

var safariVersion = 1;

if(engine.webkit<100){

safariVersion = 1;

}else if(engine.ver<312){

safariVersion = 1.2;

}else if(engine.ver<412){

safariVersion = 1.3;

}else{

safariVersion = 2;

}

browser.safari = browser.ver = safariVersion;

}

}else if(/KHTML/(S+)/.test(ua)||/Konqueror/([^;]+)/.test(ua)){//Linux下浏览器

engine.ver = browser.ver = RegExp["$1"];

engine.khtml = parseFloat(engine.ver);

}else if(/rv:([^)]+) Gocko/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;

if(system.win){

if(/Win(?:dow)?([^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";

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;

//win 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 (?:iPhone)?OS (d+_d+)/.test(ua){

system.ios = parseFloat(RexExp.$1.replace("_","."));

}else {

system.ios = 2 ;//不能真正检查出来,所以猜测出来一个结果

}

}

//检查安卓版本

//

if(/Android (d+/_d+)/.test(ua)){

system.andriod = parseFloat(RegExp.$1);

}

//游戏系统

system.wii = us.indexOf("Wii")>-1;

system.ps = /playstation/i.test(ua);

//返回对象

return {

engine : engine,

browser : browser,

system : system

}

}

【判断所使用的浏览器不仅仅是电脑浏览器代码整理】相关文章:

网站分站的实现方法

关于大型页游后端管理系统的一点经验和个人见解

绑定/约束 (binding)指两个东西之间的关联

ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨

程序员学英语的一个方法

Web通信 分析工具 [推荐]

2013年CIO需要知道的八句格言

网站被等恶意镜像的解决、反制措施详细教程

json转String与String转json及判断对象类型示例代码

深入理解浏览器的各种刷新规则

精品推荐
分类导航