Heim  >  Artikel  >  Web-Frontend  >  JavaScript bestimmt das IE-Versionsmodell_Grundkenntnisse

JavaScript bestimmt das IE-Versionsmodell_Grundkenntnisse

WBOY
WBOYOriginal
2016-05-16 15:48:55990Durchsuche

Im Folgenden wird es Ihnen anhand des Codes erklärt. Weitere Informationen finden Sie unten:

Der Unterschied zwischen IE-Browser und Nicht-IE-Browser besteht darin, dass der IE-Browser ActiveXObject unterstützt, der Nicht-IE-Browser jedoch kein ActiveXObject. Bevor der IE11-Browser erschien, haben wir IE und Nicht-IE oft so beurteilt

Code kopieren Der Code lautet wie folgt:

Funktion isIe(){
Rückgabe window.ActiveXObject ? true : false;
}

Aber in IE11 gibt das obige Urteil „falsch“ zurück. Ich habe den folgenden Code in IE11 getestet:

Code kopieren Der Code lautet wie folgt:

alarm(window.ActiveXObject);
warning(typeof window.ActiveXObject);

Warum ist das so? Offensichtlich existiert ActiveXObject, aber das Ergebnis von typeof ist tatsächlich undefiniert. Wer das Ergebnis kennt, kann mir sagen warum? Für Shenma?

Die offizielle Website von Microsoft erklärt die Unterschiede im ActiveXObject von IE11.

Code kopieren Der Code lautet wie folgt:

alarm("ActiveXObject" im Fenster)//Gibt true unter ie11
zurück

Das Folgende ist eine direkte Methode, um festzustellen, ob IE- und Nicht-IE-Browser mit IE11 kompatibel sind.

Code kopieren Der Code lautet wie folgt:

Funktion isIe(){
Return („ActiveXObject“ im Fenster);
}

Beurteilen Sie den IE6-Browser

Ab IE7 unterstützt IE das XMLHttpRequest-Objekt, IE6 unterstützt es jedoch nicht. Basierend auf dieser Funktion und der vorherigen Funktion isIe() zur Beurteilung von IE wissen wir, wie man IE6 beurteilt. Die Beurteilungsmethode ist wie folgt:

Code kopieren Der Code lautet wie folgt:

Funktion isIe6() {
// ie6 unterstützt window.XMLHttpRequest
nicht Gibt isIe() && !window.XMLHttpRequest;
zurück }

Beurteilen Sie den IE7-Browser

Da der Dokumentmodus ab IE8 unterstützt wird, unterstützt er document.documentMode. IE7 unterstützt es nicht, aber IE7 unterstützt das XMLHttpRequest-Objekt. Die Beurteilungsmethode ist wie folgt:

Code kopieren Der Code lautet wie folgt:

Funktion isIe7() {
//Nur IE8 unterstützt document.documentMode
Gibt isIe() && window.XMLHttpRequest && !document.documentMode;
zurück }

Beurteilen Sie den IE8-Browser

Ab IE9 nähert sich Microsoft langsam dem Standard. Wir nennen IE678 einen nicht standardmäßigen Browser, und IE9 und andere Browser wie Chrome und Firefox werden als Standardbrowser bezeichnet. Einer der Unterschiede zwischen den beiden ist Alert(-[1,]);//In IE678 wird NaN ausgegeben, in Standardbrowsern jedoch -1

Dann können wir anhand der oben genannten Unterschiede beurteilen, dass es sich um einen IE8-Browser handelt. So geht's:

function isIe8(){
  // alert(!-[1,])//->IE678返回NaN 所以!NaN为true 标准浏览器返回-1 所以!-1为false
  return isIe() &&!-[1,]&&document.documentMode;
 }

Beurteilen Sie die Browser IE9, IE10, IE11

Der Browser unterstützt integrierte JSON-Objekte ab IE8 und den strikten Modus von js ab IE10. Unter IE9 gibt „alert(!-[1,])“ „false“ zurück. IE9 unterstützt addEventListener, aber der IE11-Browser unterstützt nicht die ursprüngliche, für IE einzigartige Ereignisbindung „attachEvent“. Basierend auf diesen Unterschieden können wir die Browser IE9, IE10 und IE11 unterscheiden.

Beurteilen Sie andere Browser

//检测函数
 var check = function(r) {
   return r.test(navigator.userAgent.toLowerCase());
 };
 var statics = {
   /**
   * 是否为webkit内核的浏览器
   */
   isWebkit : function() {
     return check(/webkit/);
   },
   /**
   * 是否为火狐浏览器
   */
   isFirefox : function() {
     return check(/firefox/);
   },
   /**
   * 是否为谷歌浏览器
   */
   isChrome : function() {
     return !statics.isOpera() && check(/chrome/);
   },
   /**
   * 是否为Opera浏览器
   */   isOpera : function() {
     return check(/opr/);
   },
   /**
   * 检测是否为Safari浏览器
   */
   isSafari : function() {
   // google chrome浏览器中也包含了safari
     return !statics.isChrome() && !statics.isOpera() && check(/safari/)
   }
 };

Das Obige ist die gesamte Einleitung dieses Artikels, ich hoffe, es kann allen helfen.

Stellungnahme:
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