Als wir ursprünglich beurteilten, ob der Browser IE war, konnten wir immer MSIE in navigator.userAgent haben, aber IE11 hat sich geändert und userAgent enthält nicht mehr das MSIE-Feld
Im eigentlichen Projekt so etwas Das Problem der Fehlerberichterstattung in der Konsole besteht bei der Überprüfung des Browsermodells. Die spezifische Methode lautet wie folgt:
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;
}
Mit dieser Methode können Sie die spezifischen Browserinformationen in Sys abrufen. Sie können diese Methode zum Vergleich direkt aufrufen . Ja;
Aber die Produktionsumgebung kann plötzlich nicht angemeldet werden. Benutzer-Feedback ist, dass IE11 für den Betrieb verwendet wird, also wird IE11 direkt zum Testen verwendet:
【 SCRIPT5007: Undefiniertes oder nullreferenziertes Attribut „1“ konnte nicht abgerufen werden. ]
Basierend auf der Fehleranzeigeposition kann m nach der Positionierung nach dem regulären Abgleich nicht abgerufen werden.
Nach der Auflösung kann der ie11-Browser nicht abgerufen werden navigator.userAgent wurde geändert, insbesondere zu:
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.0E; rv:11.0) Ersetzen Sie also das reguläre Urteil: var re = /(msie I firefox | chrome | opera |. version |. rv:).*? ([d.]+)/;
Dieses Problem wurde behoben, die Kompatibilität mit ie11 wurde erheblich verbessert und es gibt viele Verbesserungen, die fortgesetzt werden müssen. . . . . . . . . . . . . . . . . . .
Das obige ist der detaillierte Inhalt vonBeispielcode für navigator.userAgent-Änderungen in IE11. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!