欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2015年11月29日 10:07:19   投稿:mrr  
通用判斷版本號是否在兩者之間,也可以搭配判斷是否大于某版本號,小于取反即可,本文給大家介紹通用javascript代碼判斷版本號是否在版本范圍之間,需要的朋友參考下

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

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

 var APP = {};
   //判斷指定版本是否在版本范圍之間,需確保版本規(guī)范一致;比如 (..,..,..)
   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);

當(dāng)前項(xiàng)目有需要判斷指定版本是否在兩個(gè)版本之間這個(gè)需求,百度谷歌找了一圈,代碼都是有局限性的,無法通用,甚至是一堆錯(cuò)誤的東西轉(zhuǎn)來轉(zhuǎn)去......

當(dāng)前方法有兩個(gè)要點(diǎn),一個(gè)是需要將切開的版本號轉(zhuǎn)為數(shù)值型數(shù)組,還有一個(gè)是對比大小的時(shí)候轉(zhuǎn)為 -1 0 1 三個(gè)數(shù)值的對比,這樣,無論隔開的版本號有多大,總體分為幾段,都可以正確比對.

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

對象/特征檢測法

該方法是一種判斷瀏覽器能力(而非瀏覽器的確切型號)的通用方法。大部分JS專家認(rèn)為這個(gè)方法最合適,因?yàn)樗麄冋J(rèn)為按照該方法所編寫的腳本是經(jīng)得起未來考驗(yàn)的。

//獲取IE瀏覽器的版本號
//返回?cái)?shù)值,顯示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))); //截取版本號字符串,并轉(zhuǎn)換為數(shù)值
}
alert(getIEVer()); //返回?cái)?shù)值8(我的IE8)

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

user-agent字符串檢測法

user-agent字符串提供了關(guān)于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了,其它幾種瀏覽器一般都會(huì)符合標(biāo)準(zhǔn).有些客戶只需要符合IE和FF就已經(jīng)滿足了.那么我們可以這樣做:

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

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

//獲取IE瀏覽器的版本號
//返回?cái)?shù)值,顯示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))); //截取版本號字符串,并轉(zhuǎn)換為數(shù)值
}
alert(getIEVer()); //返回?cái)?shù)值7

檢測操作系統(tǒng):

var isWin = (navigator.userAgent.indexOf("Win") != -1); //如果是Windows系統(tǒng),則返回true
var isMac = (navigator.userAgent.indexOf("Mac") != -1);  //如果是Macintosh系統(tǒng),則返回true
var isUnix = (navigator.userAgent.indexOf("X11") != -1);  //如果是Unix系統(tǒng),則返回true
var isLinux = (navigator.userAgent.indexOf("Linux") != -1);  //如果是Linux系統(tǒng),則返回true

相關(guān)文章

最新評論