YJ智能框架--JS判断浏览器类型及版本

YJ智能框架--JS判断浏览器类型及版本以下

  1     /**
  2      * 判断用的是那个浏览器,操作系统,浏览器使用的内核
  3      */
  4     (function() {
  5         var ua = navigator.userAgent || "";
  6         YJ.browser = "";
  7         if (document.recalc || document.documentMode) {
  8             YJ.browser = "ie";
  9         }
 10         if (window.XULElement || ua.match("Gecko")) {
 11             YJ.browser = "gecko";
 12         }
 13         if (window.opera) {
 14             YJ.browser = "opera";
 15             opera.setOverrideHistoryNavigationMode(‘compatible‘);
 16             history.navigationMode = ‘compatible‘;
 17         }
 18         if (ua.match("WebKit")) {
 19             YJ.browser = "webkit";
 20         }
 21         if (ua.match("Konqueror")) {
 22             YJ.browser = "konqueror";
 23         }
 24         if (YJ.browser) {
 25             YJ[YJ.browser] = true;
 26         }
 27         if (YJ.webkit) {
 28             if (ua.match("Chrome")) {
 29                 YJ.chrome = true;
 30                 var rwebkit = /(chrome)[ \/]([\w]+)/i;
 31                 var match = rwebkit.exec(ua);
 32                 YJ.chromeVersion = match[2];
 33             } else if (ua.match("Safari")) {
 34                 YJ.safari = true;
 35             }
 36         }
 37         if ("ontouchstart" in window || navigator.msMaxTouchPoints > 0) {
 38             YJ.touch = true
 39         }
 40         if (ua.match(/iPhone|iPad|iPod|Android/)) {
 41             YJ.mobile = true
 42         }
 43         if (YJ.safari && !document.evaluate) {
 44             YJ.safari2 = true;
 45         }
 46         if (ua.match("Mac OS")) {
 47             YJ.mac = true
 48         }
 49         if (!ua.match("Windows")) {
 50             YJ.unix = true;
 51         }
 52         YJ.theme = "classic";
 53         if (ua.match("Windows NT 6")) {
 54             YJ.theme = "vista";
 55         }
 56         if (ua.match("Windows NT 5.1")) {
 57             YJ.theme = "xp";
 58         }
 59         if (ua.match("Mac OS") || ua.match("Android")) {
 60             YJ.theme = "aqua";
 61         }
 62
 63         YJ.strict = ("" + document.compatMode).match("CSS");
 64         if (YJ.safari2 || (YJ.safari && !document.compatMode && document.doctype && (document.doctype.systemId || !("" + document.doctype.publicId).match(/(Transitional|Final)/)))) {
 65             YJ.strict = true;
 66         }
 67         if (!YJ.strict) {
 68             YJ.quirks = true;
 69         }
 70         var htmlc = " yj-all";
 71         if (YJ.strict) {
 72             htmlc += " yj-strict";
 73         }
 74         if (YJ.quirks) {
 75             htmlc += " yj-quirks";
 76         }
 77         if (YJ.browser) {
 78             htmlc += " yj-" + YJ.browser;
 79         }
 80         if (YJ.safari) {
 81             htmlc += " yj-safari";
 82         }
 83         if (YJ.chrome) {
 84             htmlc += " yj-chrome";
 85         }
 86         if (YJ.touch) {
 87             htmlc += " yj-touch"
 88         }
 89         if (YJ.mobile) {
 90             htmlc += " yj-mobile"
 91         }
 92         if (YJ.unix) {
 93             htmlc += " yj-unix";
 94         }
 95         if (YJ.theme) {
 96             htmlc += " yj-" + YJ.theme;
 97         }
 98         if (YJ.theme && YJ.strict) {
 99             htmlc += " yj-" + YJ.theme + "-strict";
100         }
101         if (YJ.ie) {
102             var s = document.documentElement.currentStyle;
103             if (ua.match("MSIE 11")) {
104                 YJ.ie11 = true;
105                 htmlc += " yj-ie11"
106             }else if (ua.match("MSIE 10")) {
107                 YJ.ie10 = true;
108                 htmlc += " yj-ie10"
109             } else if (ua.match("MSIE 9")) {
110                 YJ.ie9 = true;
111                 htmlc += " yj-ie9"
112             } else if (s.outlineStyle) {
113                 YJ.ie8 = true;
114                 htmlc += " yj-ie8";
115             } else if (s.maxWidth) {
116                 YJ.ie7 = true;
117                 htmlc += " yj-ie7";
118             } else if (s.textOverflow) {
119                 YJ.ie6 = true;
120                 htmlc += " yj-ie6";
121             } else if (s.writingMode) {
122                 YJ.ie5 = true;
123                 htmlc += " yj-ie5";
124             }
125             YJ.ieDocVer = document.documentMode;
126             if (document.documentMode >= 11) {
127                 YJ.ms11 = true;
128                 htmlc += " yj-ms11"
129             }else if (document.documentMode == 10) {
130                 YJ.ms10 = true;
131                 htmlc += " yj-ms10"
132             } else if (document.documentMode == 9) {
133                 YJ.ms9 = true;
134                 htmlc += " yj-ms9"
135             } else if (document.documentMode == 8) {
136                 YJ.ms8 = true;
137                 htmlc += " yj-ms8";
138             } else if (document.documentMode == 7 || (YJ.ie7 && YJ.strict)) {
139                 YJ.ms7 = true;
140                 htmlc += " yj-ms7";
141             } else if (YJ.ie6 && YJ.strict) {
142                 YJ.ms6 = true;
143                 htmlc += " yj-ms6";
144             } else {
145                 YJ.ms5 = true;
146                 htmlc += " yj-ms5";
147             }
148         }
149         if (YJ.gecko) {
150             if (window.mozRequestAnimationFrame) {
151                 YJ.ff4 = true;
152                 htmlc += " yj-ff4"
153             } else if (document.elementFromPoint) {
154                 YJ.ff3 = true;
155                 htmlc += " yj-ff3";
156             } else if (window.globalStorage) {
157                 YJ.ff2 = true;
158                 htmlc += " yj-ff2";
159             } else if (window.XPCNativeWrapper) {
160                 YJ.ff15 = true;
161                 htmlc += " yj-ff15";
162             } else {
163                 YJ.ff1 = true;
164                 htmlc += " yj-ff1";
165             }
166             if (YJ.ff4 || YJ.ff3) {
167                 YJ.ff = true;
168                 htmlc += " yj-ff"
169             }
170             if (YJ.ff2 || YJ.ff15 || YJ.ff1) {
171                 YJ.ffx = true;
172                 htmlc += " yj-ffx";
173             }
174         }
175         if (YJ.ie5 || YJ.ie6) {
176             htmlc += " yj-png1 yj-" + YJ.theme + "-png1";
177         } else {
178             htmlc += " yj-png2";
179         }
180         YJ._htmlClasses = htmlc;
181         if (YJ.strict) {
182             YJ.dx = 8;
183             YJ.dy = 4;
184         } else {
185             YJ.dx = 0;
186             YJ.dy = 0;
187         }
188         if(YJ.mobile){
189             YJ.sx = 6;
190             YJ.sy = 6;
191         }else if(YJ.mac){
192             YJ.sx = 8;
193             YJ.sy = 8;
194         }else{
195             YJ.sx = 20;
196             YJ.sy = 20;
197         }
198     })();
时间: 2024-10-19 20:48:42

YJ智能框架--JS判断浏览器类型及版本的相关文章

js判断浏览器类型以及版本

你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器. 几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的Chrome浏览器.由于Chrome出生名门,尽管他还是个小家伙,没有人敢小看他.以后,咱们常说浏览器的“四大才子”就得改称为“五朵金花”了. 在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子.浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容

JS判断浏览器类型与版本

在JS中判断浏览器的类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌却标准不一,因此时常需要根据不同的浏览器,甚至相同浏览器不同版本做不同的操作,因此,知晓浏览器的判断方法,还是很重要的.下面列举一下常用的判断方法: 1.判断浏览器是否为IE document.all ? 'IE' : 'others':在IE下document.all值为1,而其他浏览器下的值为0: navigator.userAg

js判断浏览器类型和版本

原网址:http://www.cnblogs.com/rubylouvre/archive/2009/10/14/1583362.html 除了另无它法,肯定不使用navigator.userAgent来判定浏览器.因为在第一次浏览器大战初期,Netscape占绝对统计地位,大部分人们不愿意兼容其他浏览器,并通过检测其UA让他们的网站只允许Netscape访问,这就逼使其他浏览器(包括IE)修改自己的UA伪装成Netscape来通过那些自以为是的脚本,于是出现每个人都声称自己是别人的局面,即使最

js判断浏览器类型及版本

function CheckBrowser() { ua = navigator.userAgent; ua = ua.toLocaleLowerCase(); var browserVersion; if (ua.match(/msie/) != null || ua.match(/trident/) != null) { browserType = "IE"; //哈哈,现在可以检测ie11.0了! browserVersion = ua.match(/msie ([\d.]+)/

JS判断浏览器类型方法

在网站前端开发中,浏览器兼容性问题本已让我们手忙脚乱,Chrome的出世不知道又要给我们添多少乱子.浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本. JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本.JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的userAgent属性来判断的.在许多情况下,值判断出浏览器类型之后,还需判

js判断浏览器类型

js判断浏览器类型  <script type="text/javascript" >     <!--   function getOs()   {       var OsObject = "";      if(isIE = navigator.userAgent.indexOf("MSIE")!=-1) {           return "MSIE";      }      if(isFiref

JS判断浏览器类型的方法总结(IE firefox chrome opera safari)

JS判断浏览器类型的方法总结,可判别当前客户端所使用的浏览器是ie,firefox,safari,chrome或者是opera,另外js可以精确判断到ie浏览器的版本,依然直接上代码,需要的朋友可按照自己的要求进行修改. 第一种方法: 1 var Browser=new Object(); 2 Browser.isMozilla=(typeof document.implementation!='undefined')&&(typeof document.implementation.cr

JS判断浏览器类型,JS判断客户端操作系统

JS判断浏览器类型 function judge(){ var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; return {//移动终端浏览器版本信息 trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexO

JavaScript判断浏览器类型及版本

说明:以下内容参考了一些网上资料以及同事间的一些讨论. 浏览器对于我们来说,可能是最熟悉的工具了.记得最早那会Netscape,到后来的Internet Explorer一统江湖,再到现在的FireFox大行其道,浏览器市场的争夺,可谓是硝烟弥漫.除了我们常见的IE, Firefox, Opera, Safari四大金刚以外,新近又出了一位Chrome,虽然新出,但是出于Google这个名门,Chrome所受到的关注绝不亚于先前的四大金刚,看来以后要改为5朵金花了,呵呵.除了这些熟知的浏览器以外