国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

通用javascript代碼判斷版本號是否在版本范圍之間

2019-11-20 11:08:14
字體:
來源:轉載
供稿:網友

通用判斷版本號是否在兩者之間,也可以搭配判斷是否大于某版本號,小于取反即可

PS:需確保版本規范一致,比如都是.號分割的n位版本號

 var APP = {};   //判斷指定版本是否在版本范圍之間,需確保版本規范一致;比如 (..,..,..)   APP.betweenVersion = function(curr,start,end,separator){     if(curr == start || curr == end){       return true;     }     var separator = separator || '.';     var curr = curr.split(separator);     var start = start.split(separator);     var end = end.split(separator);         var gtStart = false;     var ltEnd = false;      gtStart = APP.gtTargetVersion( APP.compareVersionEle(curr,start) );      if(!gtStart){       return false;     }     return !APP.gtTargetVersion( APP.compareVersionEle(curr,end) );    };   APP.compareVersionEle = function(curr,target){     var len = curr.length;     var temp = [];     var left,right;     for(var i=;i<len;i++){        left = +curr[i];       right = +target[i];        if(left == right){         temp.push();       }else if(left > right){         temp.push();       }else{         temp.push(-);       }     }     return temp;   };   APP.gtTargetVersion = function(arr){     var res = true;     var curr,next;     for(var i=,len=arr.length;i<len;i++){       curr = arr[i];       next = arr[i+];       if( curr>next ){         if(curr == ){           res = false;           break;         }         if(curr == ){           res = true;           break;         }               }else if(curr == next){         if(curr == -){           res = false;           break;         }         if(curr == ){           res = true;           break;         }       }else{         if(curr == -){           res = false;           break;         }         if(curr == ){           res = true;           break;         }       }     }     // console.log(res);     return res;   }   var res = APP.betweenVersion('...','...','...','.'); console.log(res);

當前項目有需要判斷指定版本是否在兩個版本之間這個需求,百度谷歌找了一圈,代碼都是有局限性的,無法通用,甚至是一堆錯誤的東西轉來轉去......

當前方法有兩個要點,一個是需要將切開的版本號轉為數值型數組,還有一個是對比大小的時候轉為 -1 0 1 三個數值的對比,這樣,無論隔開的版本號有多大,總體分為幾段,都可以正確比對.

下面給大家分享javascript 檢測瀏覽器類型和版本的代碼

對象/特征檢測法

該方法是一種判斷瀏覽器能力(而非瀏覽器的確切型號)的通用方法。大部分JS專家認為這個方法最合適,因為他們認為按照該方法所編寫的腳本是經得起未來考驗的。

//獲取IE瀏覽器的版本號//返回數值,顯示IE的主版本號function getIEVer() { var ua = navigator.userAgent; //獲取用戶端信息 var b = ua.indexOf("MSIE "); //檢測特殊字符串"MSIE "的位置 if (b < 0) {  return 0; } return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本號字符串,并轉換為數值}alert(getIEVer()); //返回數值8(我的IE8)

如果更關注瀏覽器的能力而不在乎它實際的身份,就可以使用這種方法。

user-agent字符串檢測法

user-agent字符串提供了關于Web瀏覽器的大量信息,包括瀏覽器的名稱和版本。

var ua = navigator.userAgent.toLowerCase(); //獲取用戶端信息var info = { ie: /msie/.test(ua) && !/opera/.test(ua),  //匹配IE瀏覽器 op: /opera/.test(ua),  //匹配Opera瀏覽器 sa: /version.*safari/.test(ua),  //匹配Safari瀏覽器 ch: /chrome/.test(ua),  //匹配Chrome瀏覽器 ff: /gecko/.test(ua) && !/webkit/.test(ua)  //匹配Firefox瀏覽器};(info.ie) && alert("IE瀏覽器");(info.op) && alert("Opera瀏覽器");(info.sa) && alert("Safari瀏覽器");(info.ff) && alert("Firefox瀏覽器");(info.ch) && alert("Chrome瀏覽器");

通常我們做得最多的,就是判斷是否是IE了,其它幾種瀏覽器一般都會符合標準.有些客戶只需要符合IE和FF就已經滿足了.那么我們可以這樣做:

var isIE = (navigator.appName == "Microsoft Internet Explorer");

判斷IE遠遠不止上面一種方法,可以使用IE更多特有的東西,如:window.ActiveXObject,document.all等,這些都屬于對象/特征檢測法了!通常要在不同的瀏覽器上寫不同的樣式(因為IE樣式解析也各有不同),那就得判斷版本了.可以這樣做

//獲取IE瀏覽器的版本號//返回數值,顯示IE的主版本號function getIEVer() { var ua = navigator.userAgent; //獲取用戶端信息 var b = ua.indexOf("MSIE "); //檢測特殊字符串"MSIE "的位置 if (b < 0) {  return 0; } return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本號字符串,并轉換為數值}alert(getIEVer()); //返回數值7

檢測操作系統:

var isWin = (navigator.userAgent.indexOf("Win") != -1); //如果是Windows系統,則返回truevar isMac = (navigator.userAgent.indexOf("Mac") != -1);  //如果是Macintosh系統,則返回truevar isUnix = (navigator.userAgent.indexOf("X11") != -1);  //如果是Unix系統,則返回truevar isLinux = (navigator.userAgent.indexOf("Linux") != -1);  //如果是Linux系統,則返回true
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鞍山市| 安陆市| 裕民县| 海兴县| 湟中县| 兰坪| 岳阳县| 临朐县| 南部县| 南汇区| 道孚县| 沙雅县| 淅川县| 崇州市| 和平县| 陇南市| 陆川县| 武平县| 朝阳区| 于田县| 安塞县| 屏南县| 太仆寺旗| 赤壁市| 蓝田县| 平凉市| 和林格尔县| 沽源县| 夹江县| 美姑县| 和龙市| 凤山县| 宾阳县| 广州市| 林甸县| 乌鲁木齐市| 农安县| 青川县| 庄河市| 虎林市| 全椒县|