Lorsque nous avons initialement jugé si le navigateur était IE, nous pouvions toujours avoir MSIE dans navigator.userAgent, mais IE11 a changé et userAgent ne contient plus le champ MSIE
Dans le projet actuel, quelque chose comme ça. est entré Le problème du rapport d'erreurs dans la console se produit lors de la vérification du modèle du navigateur. La méthode spécifique est la suivante :
function getBrowserInfo(){
var Sys = {};
var ua = navigator.userAgent.toLowersCase();
var re = /(msie I firefox | chrome | opera | version).*?([d.]+)/;
var m = ua.match(re);
Sys.browser = m[1].replace(/version/,"'safari'");
Sys.ver = m[ 2];
return;
}
Selon cette méthode, vous pouvez obtenir les informations spécifiques du navigateur dans Sys. Vous pouvez directement appeler cette méthode pour comparaison. . Oui ;
Mais l'environnement de production ne peut soudainement pas être connecté. Les commentaires des utilisateurs sont que IE11 est utilisé pour le fonctionnement, donc IE11 est directement utilisé pour les tests :
【 SCRIPT5007 : Impossible d'obtenir l'attribut référencé "1" indéfini ou nul ]
En fonction de la position d'affichage de l'erreur, m ne peut pas être obtenu après le positionnement après une correspondance régulière
Après résolution, le navigateur ie11 ; navigator.userAgent a changé, devenant spécifiquement :
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729 ; Media Center PC 6.0; .NET4 .0C; .NET4.0E; rv:11.0) comme Gecko" ;
Remplacez donc le jugement régulier : var re = /(msie I firefox | chrome | opera | version | rv:).*? ([d.]+)/;
Ce problème est résolu, la compatibilité ie11 a été grandement améliorée, et il y a de nombreuses améliorations à poursuivre. . . . . . . . . . . . . . . . . . .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!