Maison > interface Web > js tutoriel > le corps du texte

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

WBOY
Libérer: 2016-05-16 15:29:04
original
1521 Les gens l'ont consulté

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);
Copier après la connexion
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)
Copier après la connexion
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浏览器");
Copier après la connexion
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");
Copier après la connexion
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
Copier après la connexion
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
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!