Heim > Web-Frontend > js-Tutorial > Hauptteil

Allgemeiner Javascript-Code, um festzustellen, ob die Versionsnummer zwischen den Versionsbereichen liegt_Javascript-Kenntnisse

WBOY
Freigeben: 2016-05-16 15:29:04
Original
1526 Leute haben es durchsucht

Es wird im Allgemeinen verwendet, um festzustellen, ob die Versionsnummer zwischen den beiden liegt. Es kann auch verwendet werden, um festzustellen, ob sie größer als eine bestimmte Versionsnummer ist. Wenn sie kleiner als eine bestimmte Versionsnummer ist, kann sie negiert werden 🎜>

PS: Es ist darauf zu achten, dass die Versionsangaben konsistent sind, z. B. sind es alle n-stellige Versionsnummern, getrennt durch .

 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);
Nach dem Login kopieren
Das aktuelle Projekt muss feststellen, ob die angegebene Version zwischen zwei Versionen liegt. Nach der Suche auf Baidu und Google sind die Codes alle begrenzt, können nicht universell verwendet werden und enthalten sogar eine Menge falscher Dinge. ..

Die aktuelle Methode hat zwei Hauptpunkte: Zum einen muss die Schnittversionsnummer in ein numerisches Array umgewandelt werden, zum anderen wird sie beim Vergleich der Größe in einen Vergleich von drei Werten umgewandelt von -1 0 1. Auf diese Weise ist die Versionsnummer unabhängig von der Trennung in mehrere Segmente unterteilt und kann korrekt verglichen werden

Lassen Sie mich den Javascript-Code zur Erkennung von Browsertyp und -version mit Ihnen teilen

Methode zur Objekt-/Merkmalserkennung

Diese Methode ist eine allgemeine Methode zur Bestimmung der Funktionen eines Browsers (und nicht des genauen Modells des Browsers). Die meisten JS-Experten halten diesen Ansatz für den am besten geeigneten, da sie glauben, dass auf diese Weise geschriebene Skripte zukunftssicher sind.

//获取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)
Nach dem Login kopieren
Verwenden Sie diese Methode, wenn Ihnen die Fähigkeiten des Browsers wichtiger sind als seine tatsächliche Identität.

Methode zur Erkennung von Benutzeragentenzeichenfolgen

Die User-Agent-Zeichenfolge bietet eine Fülle von Informationen über den Webbrowser, einschließlich des Namens und der Version des Browsers.

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浏览器");
Nach dem Login kopieren
Normalerweise stellen wir fest, ob es sich um IE handelt. Andere Browser müssen im Allgemeinen nur IE und FF einhalten. Dann können wir dies tun:

var isIE = (navigator.appName == "Microsoft Internet Explorer");
Nach dem Login kopieren
Die Beurteilung des IE ist weit mehr als die oben beschriebene Methode. Sie können weitere einzigartige Dinge des IE verwenden, wie zum Beispiel: window.ActiveXObject, document.all usw. Normalerweise müssen sie verwendet werden Wenn Sie unterschiedliche Stile schreiben (da das Parsen im IE-Stil auch unterschiedlich ist), müssen Sie die Version beurteilen

//获取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
Nach dem Login kopieren
Betriebssystem erkennen:

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage