博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js 浏览器和pc 客户端判断
阅读量:7077 次
发布时间:2019-06-28

本文共 6183 字,大约阅读时间需要 20 分钟。

hot3.png

/** 获取浏览器的userAgent */

function getUserAgent(){

return navigator.userAgent;

}

/** 获取终端的语言 */

function getClientLanguage(){

var type=navigator.appName;

var client_language = "";

if (type=="Netscape"){  

   client_language = navigator.language;

}  

else{  

client_language = navigator.userLanguage; 

}

return client_language;

}

/** 获取浏览器类型 */

function getBrowerType(){

var Sys = {}; 

var ua = navigator.userAgent.toLowerCase();

var s; 

(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 

(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : 

(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : 

(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : 

(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; 

if(Sys.ie){

   if(Sys.ie >  6.0){

    return "IE "+Sys.ie;

   }

}else if(Sys.firefox){

   return "Firefox "+Sys.firefox;

}else if(Sys.chrome){

   return "Chrome "+Sys.chrome;

}else if(Sys.opera){

   return "Opera "+Sys.opera;

}else if(Sys.safari){

   return "Safari "+Sys.safari;

}else if(ua.indexOf("uc") > -1){

   return "UC";

}else{

return "Unknown";

}

 }

/** 获取浏览器语言 */

function getBrowerLanguage(){

var language = window.navigator.language; 

if(!language){

language = window.navigator.browserLanguage; 

}

language = language.toLowerCase();

return language;

}

/** 获取客户端操作系统类型 ,这个比较全面*/

function TClientCheck_OS() {

    var sUA = navigator.userAgent.toLowerCase();//获取浏览器用户代理

    var isIPhone = sUA.indexOf("iphone") > -1;

    var isAndroid = sUA.indexOf("android")>-1 || sUA.indexOf("linux")>-1;  

    var isIPod = sUA.indexOf("ipod") > -1;

    var isIPad = sUA.indexOf("ipad")> -1;

    var isWP = sUA.indexOf("windows phone") > -1 ;

    var isSymbian = sUA.indexOf( "symbian")> -1;    

    var isWin = sUA.indexOf( "win" ) > -1 ;

    var isLinux = (sUA.indexOf("linux")> -1);

    var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");

    var isUnix = (navigator.platform == "X11"&&sUA.indexOf("unix"));

   

    if(isAndroid){return "Android";}  

    if(isLinux) {return "Linux";} 

    if(isIPod){return "iPod";}

    if(isIPad){return "iPad";}

    if(isIPhone){return "iPhone";}   

    if(isWP){return "Windows Phone";} 

    if(isSymbian) {return "Symbian";}

    

    if(isWin && !isWP){

    var isWin2K = sUA.indexOf("windows nt 5.0") > -1 || sUA.indexOf("windows 2000") > -1;  

        if (isWin2K) return "Win 2000";  

        var isWinXP = sUA.indexOf("windows nt 5.1") > -1 || sUA.indexOf("windows xp") > -1;  

        if (isWinXP) return "Win XP";  

        var isWin2003 = sUA.indexOf("windows nt 5.2") > -1 || sUA.indexOf("windows 2003") > -1;  

        if (isWin2003) return "Win 2003";  

        var isWinVista = sUA.indexOf("windows nt 6.0") > -1 || sUA.indexOf("windows vista") > -1;  

        if (isWinVista) return "Win Vista";  

        var isWin7 = sUA.indexOf("windows nt 6.1") > -1 || sUA.indexOf("windows 7") > -1;  

        if (isWin7) return "Win 7";  

        var isWin8 = sUA.indexOf("windows nt 6.2") > -1 || sUA.indexOf("windows 8") > -1;  

        if (isWin8) return "Win 8";  

        return "Windows";

    }

    if(isUnix && !isWin && !isMac) {return "Unix";}

    if(isMac &&!isIPod && !isIPad && !isIPhone) {return "Mac";}

    

    return "Unknown";

}

/** 获取屏幕的分辨率及其他相关参数 */

function getScreen()

{

var s = "";

s += " 网页可见区域宽:" + document.body.clientWidth + "\n";

s += " 网页可见区域高:" + document.body.clientHeight + "\n";

s += " 网页可见区域宽:" + document.body.offsetWidth + " (包括边线和滚动条的宽)" + "\n";

s += " 网页可见区域高:" + document.body.offsetHeight + " (包括边线的宽)" + "\n";

s += " 网页正文全文宽:" + document.body.scrollWidth + "\n";

s += " 网页正文全文高:" + document.body.scrollHeight + "\n";

s += " 网页被卷去的高(ff):" + document.body.scrollTop + "\n";

s += " 网页被卷去的高(ie):" + document.documentElement.scrollTop + "\n";

s += " 网页被卷去的左:" + document.body.scrollLeft + "\n";

s += " 网页正文部分上:" + window.screenTop + "\n";

s += " 网页正文部分左:" + window.screenLeft + "\n";

s += " 屏幕分辨率的高:" + window.screen.height + "\n";

s += " 屏幕分辨率的宽:" + window.screen.width + "\n";

s += " 屏幕可用工作区高度:" + window.screen.availHeight + "\n";

s += " 屏幕可用工作区宽度:" + window.screen.availWidth + "\n";

s += " 你的屏幕设置是 " + window.screen.colorDepth + " 位彩色" + "\n";

s += " 你的屏幕设置 " + window.screen.deviceXDPI + " 像素/英寸" + "\n";

return s;

}

/** 获取屏幕分辨率 */

function getScreenDPI(){

os_type = TClientCheck_OS();//操作系统类型

if(os_type=="iphone")

    {     

  return (window.screen.width*2) +"*"+(window.screen.height*2);  

    }

return window.screen.width +"*"+window.screen.height;

}

//终端类型

function getClientModel( ){

var sUA = navigator.userAgent.toLowerCase();//获取浏览器用户代理

   var isIPhone = sUA.indexOf("iphone") > -1;

    var isAndroid = sUA.indexOf("android") > -1 && sUA.indexOf("linux")>-1;

    var isIPod = sUA.indexOf("ipod") > -1;

    var isIPad = sUA.indexOf("ipad") > -1;

    var isWP = sUA.indexOf("windows phone") > -1 ;

    var isSymbian = sUA.indexOf( "symbian")> -1;    //完善诺基亚塞班判断

    var isWin = sUA.indexOf( "win" ) > -1 ;

    var isLinux =!isAndroid &&  (sUA.indexOf("linux")> -1);

    var isMac = (sUA.indexOf("mac os x") > -1 || sUA.indexOf("macintosh") > -1);

    

    if((!isMac && !isIPhone && !isIPod && !isIPad && !isWP && !isAndroid) || (isWin && !isWP) || (isLinux && !isAndroid) || !isSymbian){return "PC";}

    

    if(isIPhone && !isIPad && !isIPod){

    if(sUA.indexOf("iphone os 2") > -1 ){

    return "iPhone 3G";

    }

    if(sUA.indexOf("iphone os 3") > -1 || sUA.indexOf("3gs") > -1){

    return "iPhone 3GS";

    }

    if(sUA.indexOf("iphone os 4") > -1 || sUA.indexOf("ios 4") > -1){

    return "iPhone 4";

    }

if (sUA.indexOf("iphone os 5") > -1 || sUA.indexOf("ios 5") > -1

|| sUA.indexOf("iphone os 6") > -1)

{

    return "iPhone 4s";

    }

    return "iPhone";

    }

    if(isIPad){

    return "iPad";

    }

    if(isIPod){

    return "iPod";

    }

    if(isAndroid){

    return "Android";

    }

if(isSymbian){

   return "Symbian";

}

    if(isWP){

    return "Window Phone";

    }

    if(isMac){

    return "Mac";

    }

return "Unknown";

}

//客户机判断

function PC_or_Mobile(){

var system={

win:false,

mac:false,

xll:false,

isPad:false  //客户要求pad要跳到pc端。正常情况pad应该跳到移动端。(只实验了androidPad)

};

var p=navigator.platform;

var sUA=navigator.userAgent.toLowerCase(); 

system.win=p.indexOf("Win")==0; 

system.mac=p.indexOf("Mac")==0;

system.x11=(p=="X11")||(p.indexOf("Linux")==0);

system.isPad=(p.toLowerCase()=="ipad")||(sUA.indexOf("ipad")>-1);

if(system.win||system.mac||system.xll||system.isPad){

window.location.href="pc/portal.html"

}else{

window.location.href="mobile/portal.html"

}};

麻烦大神给纠错。

转载于:https://my.oschina.net/u/1537173/blog/214852

你可能感兴趣的文章
数据库 性能对比
查看>>
Linux下curl命令的使用
查看>>
列出目录下所有文件
查看>>
如何利用HTTP缓存提高网页性能
查看>>
在Silverlight中动态绑定页面报表(PageReport)的数据源
查看>>
Oracle审计与数据库防火墙(AVDF)官方文档
查看>>
Spring Custom Bean with BeanPostProcessor
查看>>
Dark Themed Tab View
查看>>
BobMusic
查看>>
谈谈Ms Chart和TeeChart的优缺点
查看>>
Android FM模块学习之四源码解析(一)
查看>>
人生最重要的三种能力,不是读书能学来的
查看>>
JDK中文方框乱码问题
查看>>
关于技术
查看>>
adb学习2
查看>>
面试之STAR法则详解
查看>>
inno安装
查看>>
禁用缓存的设置
查看>>
Idea14解决JSP/JS文件需要重启问题解决
查看>>
对IoC DI的理解
查看>>