主頁 > 知識庫 > 判斷所使用的瀏覽器不僅僅是電腦瀏覽器代碼整理

判斷所使用的瀏覽器不僅僅是電腦瀏覽器代碼整理

熱門標簽:銀行業(yè)務(wù) 網(wǎng)站文章發(fā)布 呼叫中心市場需求 鐵路電話系統(tǒng) 美圖手機 檢查注冊表項 智能手機 服務(wù)器配置
判斷不僅包括電腦瀏覽器,還包括安卓、ios系統(tǒng)的手機以及平板電腦,游戲系統(tǒng)
復(fù)制代碼 代碼如下:

var client = function(){
//呈現(xiàn)引擎
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,
//移動設(shè)備
iphone : false ,
ipod : false,
ipad : false,
ios : false,
android : false,
nokiaN : false,
winMoble : false,
//游戲系統(tǒng)
wii :false,
ps : false
};
var ua =navigator.userAgent;
//Opera 9以后出現(xiàn)了兩種字符串代理的方式 一種方式就是將自身標識另外一個瀏覽器 另外一種方式就是標志自己為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"的字符串 所以如果首先檢測他們都有錯誤的結(jié)論
}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.webkit100){
safariVersion = 1;
}else if(engine.ver312){
safariVersion = 1.2;
}else if(engine.ver412){
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"];
}
}
}
//移動設(shè)備
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 ;//不能真正檢查出來,所以猜測出來一個結(jié)果
}
}
//檢查安卓版本
//
if(/Android (\d+/_\d+)/.test(ua)){
system.andriod = parseFloat(RegExp.$1);
}
//游戲系統(tǒng)
system.wii = us.indexOf("Wii")>-1;
system.ps = /playstation/i.test(ua);
//返回對象
return {
engine : engine,
browser : browser,
system : system
}
}

標簽:長治 上海 沈陽 新疆 河南 樂山 滄州 紅河

巨人網(wǎng)絡(luò)通訊聲明:本文標題《判斷所使用的瀏覽器不僅僅是電腦瀏覽器代碼整理》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266