Urteilsprinzip:
JavaScript ist die Hauptsprache für die Frontend-Entwicklung. Durch das Schreiben von JavaScript-Programmen können wir den Typ und die Version des Browsers bestimmen. Es gibt im Allgemeinen zwei Möglichkeiten für JavaScript, den Browsertyp zu bestimmen: Die eine basiert auf den eindeutigen Attributen verschiedener Browser und die andere wird durch die Analyse des userAgent-Attributs des Browsers bestimmt. In vielen Fällen muss nach der Wertbestimmung des Browsertyps die Browserversion ermittelt werden, um Kompatibilitätsprobleme zu lösen. Die Browserversion kann im Allgemeinen nur durch Analyse des UserAgents des Browsers ermittelt werden.
Browsertyp
⑴ Browserspezifische Attribute
⑵Laut userAgent
Browserversion
⑴Laut userAgent
Urteil für mobile Browser
1. Wie kann mithilfe der regulären Übereinstimmung festgestellt werden, ob es sich um ein mobiles Endgerät handelt?
Übereinstimmung, ob navigator.userAgent die Zeichenfolge AppleWebKit*****Mobile enthält
Die HD-Version des Android qq-Browsers verfügt nur über AppleWebKit
2. Beurteilung der Sprachversion des Mobiltelefons
Verwenden Sie navigator.browserLanguage, um die Windows Phone-Sprachversion abzurufen.
Natürlich weist die verhasste kleine Handy-Sprachversion auch Kompatibilitätsunterschiede auf. Browser, die mit Mozilla- und Apple-WebKit-Kerneln kompatibel sind, listen beim Zugriff auf die Sprachversion navigator.sprache auf.
CODE:
Kopieren Sie den Codecode wie folgt:
<script type="text/javascript">
var browser={
Versionen:Funktion(){
var u = navigator.userAgent, app = navigator.appVersion;
return { //Informationen zur Browserversion des mobilen Endgeräts
trident: u.indexOf('Trident') > -1, //IE-Kernel
presto: u.indexOf('Presto') > -1, //opera kernel
webKit: u.indexOf('AppleWebKit') > -1, //Apple, Google-Kernel
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //Firefox-Kernel
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //Ob es sich um ein mobiles Endgerät handelt
ios: !!u.match(//(i[^;]+;( U;)? CPU.+Mac OS X/), //ios terminal
android: u.indexOf('Android') > -1 ||. u.indexOf('Linux') > -1, //Android-Terminal oder UC-Browser
iPhone: u.indexOf('iPhone') > -1 , //Ob es sich um ein iPhone oder einen QQHD-Browser handelt
iPad: u.indexOf('iPad') > -1, //Ob es ein iPad ist
webApp: u.indexOf('Safari') == -1 //Ob das Web ein Programm ohne Header und Bottom sein soll
};
}(),
Sprache:(navigator.browserLanguage || navigator.sprache).toLowerCase()
}
document.writeln("Sprachversion: "+browser.sprache);
document.writeln(" Ob es sich um ein mobiles Endgerät handelt: "+browser.versions.mobile);
document.writeln(" ios terminal: "+browser.versions.ios);
document.writeln(" Android-Terminal: "+browser.versions.android);
document.writeln(" Ob es ein iPhone ist: "+browser.versions.iPhone);
document.writeln(" Ob iPad: "+browser.versions.iPad);
document.writeln(navigator.userAgent);
</script>
Ein ganz besonderer Ort
UC Browser hat keinen Android-Header und gibt nur Folgendes zurück: linux Hier wird grob davon ausgegangen, dass es sich um Android handelt, das auf Linux basiert (Voraussetzung muss ein mobiles Endgerät sein, und UC ist damit zufrieden).
Die Erkennungsergebnisse der Android QQ Browser HD-Version sind: Mac, Safari