Maison >interface Web >js tutoriel >Code javascript commun pour déterminer si le numéro de version se situe entre les plages de versions_compétences javascript

Code javascript commun pour déterminer si le numéro de version se situe entre les plages de versions_compétences javascript

WBOY
WBOYoriginal
2016-05-16 15:29:041537parcourir

Il est généralement utilisé pour déterminer si le numéro de version est entre les deux. Il peut également être utilisé pour déterminer s'il est supérieur à un certain numéro de version, s'il est inférieur à un certain numéro de version, il peut être annulé <.>

PS : Il faut s'assurer que les spécifications de version sont cohérentes, par exemple, ce sont tous des numéros de version à n chiffres séparés par .

 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);
Le projet actuel doit déterminer si la version spécifiée se situe entre deux versions. Après une recherche sur Baidu et Google, les codes sont tous limités, ne peuvent pas être utilisés universellement et contiennent même un tas de mauvaises choses qui circulent... ..

La méthode actuelle comporte deux points principaux. L'un est que le numéro de version coupé doit être converti en un tableau numérique, et l'autre est que lors de la comparaison de la taille, il est converti en une comparaison de trois valeurs​​ de -1 0 1. De cette façon, quelle que soit la séparation. Quelle est la taille du numéro de version ? Il est divisé en plusieurs segments et peut être comparé correctement

.

Permettez-moi de partager avec vous le code javascript pour détecter le type et la version du navigateur

Méthode de détection d'objet/caractéristique

Cette méthode est un moyen général de déterminer les capacités d'un navigateur (plutôt que le modèle exact du navigateur). La plupart des experts JS considèrent cette approche comme la plus appropriée car ils estiment que les scripts écrits de cette manière sont évolutifs.

//获取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)
Utilisez cette méthode si vous êtes plus préoccupé par les capacités du navigateur que par son identité réelle.

Méthode de détection de chaîne d'agent utilisateur

La chaîne de l'agent utilisateur fournit une multitude d'informations sur le navigateur Web, notamment le nom et la version du navigateur.

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浏览器");
Habituellement, ce que nous faisons le plus est de déterminer s'il s'agit d'IE. D'autres navigateurs répondent généralement aux normes. Certains clients n'ont qu'à se conformer à IE et FF. Nous pouvons ensuite faire ceci :

.

var isIE = (navigator.appName == "Microsoft Internet Explorer");
Juger IE est bien plus que la méthode ci-dessus. Vous pouvez utiliser des éléments plus uniques d'IE, tels que : window.ActiveXObject, document.all, etc. Ce sont toutes des méthodes de détection d'objets/fonctionnalités qui doivent généralement être utilisées ! dans différents navigateurs. Si vous écrivez des styles différents (car l'analyse du style IE est également différente), alors vous devez juger la version. Vous pouvez le faire

.

//获取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
Détecter le système d'exploitation :

var isWin = (navigator.userAgent.indexOf("Win") != -1); //如果是Windows系统,则返回true
var isMac = (navigator.userAgent.indexOf("Mac") != -1);  //如果是Macintosh系统,则返回true
var isUnix = (navigator.userAgent.indexOf("X11") != -1);  //如果是Unix系统,则返回true
var isLinux = (navigator.userAgent.indexOf("Linux") != -1);  //如果是Linux系统,则返回true
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn