JavaScript ist die Hauptsprache der Front-End-Entwicklung. Es gibt im Allgemeinen zwei Möglichkeiten, Browsertypen in JavaScript zu beurteilen. Dieser Artikel analysiert die Eigenschaften des jeweiligen Benutzers des Browsers und gibt eine Urteilsmethode an:
Windows -Betriebssystem -Browser -Serie:
Dh Browser -Serie:
Merkmale: Alle beginnen mit "Mozilla/" und X in "MSie X.0";
Urteilsmethode: Sie können nur die "MSIE X.0" nach groben Urteilsvermögen durchsuchen.
Firefox für Fenster:
Funktionen: Beginnen Sie mit "Mozilla/X.0", einschließlich "Windows NT", "Gecko/" und "Firefox/";
Urteilsmethode: Für das grobe Urteil können Sie nur die "Firefox/" und "Windows NT" -Abschnüre abrufen. Firefox/";
Chrom für Windows:
Funktionen: Beginnen Sie mit "Mozilla/X.0", einschließlich "Windows NT", "Chrome/" und enthalten auch "Applewebkit/", Safari/";
Urteilsmethode: Beurteilen Sie grob, Sie können nur nach "Windows NT" und "Chrome/" Saiten suchen und streng beurteilen, Sie können nach "Mozilla/", "Windows Nt", "Applewebkit/", "Safari/", "Chrome" suchen /"5 Saiten;
Opera für Windows:
Eigenschaften: Beginnen Sie mit "Opera/" und enthält "Windows nt", "Presto/" Strings;
Urteilsmethode: Beurteilen Sie grob nur die Suche nach "Windows NT" und "Opera/" Saiten und beurteilen Sie die Suche nach "Opera/", "Windows NT" und "Presto/" gleichzeitig;
Safari für Windows:
Eigenschaften: Beginnen Sie mit "Mozilla/" und enthalten "Windows nt", "Applewebkit/", "Safari/";
Urteilsmethode: Richter, Sie können nach "Windows NT", "Safari/" und nicht nach "Chrome/" suchen. /"Aber" Chrome/"ist nicht enthalten;
Zusammenfassung: Die Browser -Benutzeragent auf dem Windows -Betriebssystem enthält "Windows NT" -Sziel, um das Windows -Betriebssystem darzustellen.
iPhone -Plattform -Browser -Serie:
Das iPhone kommt mit Safari:
Merkmale: Beginnend mit "Mozilla/", enthält die "iPhone" -Ag und auch die "mobile", "Safari/" String;
Urteilsmethode: Beurteilen Sie grob nur nach "iPhone" und "Safari/" Saiten.
Opera Mobile für iPhone:
Merkmale: Beginnend mit "Opera/", enthält die "iPhone" -Sching und enthält auch die "Opera mini/", Presto/"String;
Urteilsmethode: Richter nur nach "iPhone" und "Opera/" Strings.
Zusammenfassung: Der Browser -Benutzeragent auf iPhone -Telefonen enthält die "iPhone" -Sziel
Android Platform Browser -Serie:
Android wird mit einem Browser geliefert (einige Leute sagen, es ist nur Chrome, aber Google macht keine Aussagen und entwickelt ein Chrom zu telefonieren, das auf Android ausgeführt wird):
Merkmale: Beginnend mit "Mozilla/", enthält "Android" und "Linux" -Ags und enthält auch "Applewebkit/", "mobile Safari/" -Saiten;
Urteilsmethode: Weil ich nicht weiß, ob es in Zukunft unabhängige Safari auf Android geben wird (ich denke, es wird nicht), wird empfohlen, strenge Urteile direkt zu fällen und nach "Mozilla/", "Android", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", "," Linux "," Applewebkit/"," Mobile Safari/"Five Saiten
Opera Mobile für Android:
Merkmale: Beginnend mit "Opera/", enthält "Android" und "Linux" -Ags und enthält auch "Opera mobi/", "Presto/" Strings;
Urteilsmethode: Beurteilen Sie nur nur durchsuchten "Android" und "Opera/", und streng Richter müssen sowohl "Opera/", "Android", "Linux", "Opera Mobi/", "Presto/" Five Strings einschließen
Firefox für Android:
Eigenschaften: Beginnend mit "Mozilla/", enthält "Android" und "Linux" und auch "Firefox/", "Gecko/", "Fennec/" Strings;
Urteilsmethode: Beurteilen Sie grob nur durchsucht "Android" und "Firefox/", und streng Richter müssen sowohl "Mozilla/", "Android", "Linux", "Firefox/", "Gecko/", "Fennec/" sechs "sechs" sechs "sechs" sechs "sechs enthalten. Eine Zeichenfolge
Zusammenfassung: Der Browser -Benutzeragent auf der Android -Plattform enthält "Android" und "Linux" -Schait
Die obige Analyse der Mainstream -Browser der drei Hauptplattformen von Windows, iPhone und Android ist im Wesentlichen geschätzt. Seien Sie der iPhone -Plattform ähnlich. Ich werde vorerst die Analyse vorerst nicht durchführen, da ich nicht so viele Geräte und Betriebssysteme testen kann, ich hoffe, ich kann das in Zukunft wieder gut machen.
Die aktuellen Anforderungen für die Produktentwicklung der Website unterscheiden sich von zuvor, da sie nicht nur das Browsen des Computers erfüllen, sondern auch die Smartphones der Benutzer erfüllen muss (hier verweisen wir nur auf echte Smartphones wie iPhone, Android, Windows und Nischen wie Blackberry und Palm das semi-intelligentische System wird vorerst nicht berücksichtigt. Beurteilen Sie die Benutzerausrüstung anhand des Browser -Benutzeragents.
1. Wenn Sie das Betriebssystem beurteilen müssen, ist die Methode relativ einfach.
Enthält "Windows NT": Es ist offensichtlich, dass die Versionsnummer nach NT die OS -Version bestimmen kann.
Systeme mit "Mac": Apples Mac OS X oder andere Mac OS -Kernel;
Enthält "iPhone": exklusiv für Apple iPhone -Telefone und sollte auch "Mac" im Allgemeinen enthalten;
Enthält "iPad": Apple iPad Tablet (Die Informationen zeigen, dass das iPad -Browser -Benutzeragent auch "Mac", "iPhone", "iPad" enthält);
Enthält "Linux": Linux -Betriebssystem oder ein anderes Betriebssystem mit Linux als Kernel;
Enthält "Android": Das Android -Betriebssystem von Google ist möglicherweise ein Smartphone oder eine Android -Version von Tablet.
Es enthält eines der drei: UNIX -System, aber tatsächlich sind die Probleme der Benutzererfahrung dieses Systems fast unnötig zu berücksichtigen.
Linux mit "Ubuntu": Ubuntu Customized Version
...
Sie haben auch gesehen, dass die Beurteilung des Betriebssystems und seiner Version nicht immer nützlich ist, aber es gibt immer Orte, die verwendet werden können, z. B. die Entwicklung von Seiten, die speziell auf die Bildschirmauflösung von Geräten wie iPhone, iPad und Android usw. abzielen.
2. Es ist nicht schwierig, den Kern des Browsers zu beurteilen.
IE (Trident) Kernel (dh für Mac, IES4Linux usw. nur über Windows): Beginnen Sie mit "Mozilla/" und enthält "Windows NT" und "MSIE".
Firefox (Gecko) Kernel: Beginnen Sie mit "Mozilla/", enthält die "Firefox/" und "Gecko/" Strings, darunter die Android -Version auch die "fennec/" -Skette;
Opera () Kernel: Startet mit "Opera/" und enthält die "Presto/" -Sache, die iPhone -Version hat auch "Opera Mini/" und die Android -Version hat auch "Opera Mobi/";
Webkit -Kernel: Beginnen Sie mit "Mozilla/", enthält die Saiten von "Applewebkit/" und "Safari/", und der Chrom -Browser mit "Chrome/" ist derjenige ohne Safari oder andere;
Das obige ist der Hauptbrowser -Kernel
Der Browserkern ist das wichtigste Problem bei der Lösung von Kompatibilität Natürlich macht derselbe Kernel die Ergebnisse auf verschiedenen Geräten wie Smartphones und Computern, und dies muss auch beachtet werden.
3. Beispiele für die tatsächliche Anwendung des Browsers UseAgent:
Verschiedene Browser -Kerne haben unterschiedliche Rendering -Effekte auf Seiten.
Benutzer zugreifen nicht nur über Computer. Das Tablet ist in Ordnung, der Bildschirm hat eine große und hohe Auflösung. Hast du Recht? Schließlich ist es sehr unangenehm, Webseiten durch lokales Zooming und Ziehen zu sehen. Zugriff beschleunigen;
Führen Sie die Besucherverkehrsanalyse durch, optimieren und entwerfen Sie Ihre eigene Website, indem Sie den Art des Kundenbrowsers beurteilen und die Anzahl der Kunden aufzeichnen, um das Kundenerlebnis separat zu verbessern
Die Codekopie lautet wie folgt:
<script type = "text/javaScript">
var sys = {};
var ua = navigator.useragent.tolowerCase ();
var S;
(s = ua.match (/msie ([/d. weibliche+))?
(s = ua.match (/Firefox // ([/d.]+)/))?
(s = ua.match (/Chrome // ([/d.]+)/))?
(s = ua.match (/Opera. ([/d.]+)/)?
(s = ua.match (/Version // ([/d.]+).*Safari/)?
// die folgenden Tests
if (sys.ie) document.write ('dh:' + sys.ie);
if (sys.firefox) document.write ('firefox:' + sys.firefox);
if (sys.chrome) document.write ('chrome:' + sys.chrome);
if (sys.opera) document.write ('Opera:' + sys.opera);
if (sys.safari) document.write ('safari:' + sys.safari);
</script>
oder:
Methoden zum Erkennen von Browsern im Open Source -Editor -Quellcode des Kindeditors:
Ke = {};
Ke.browser = (function () {
var ua = navigator.useragent.tolowerCase ();
zurückkehren {
Version: ua.match (/(msie | Firefox | Webkit | Opera) [//:/s] (/d+)/)?
Dh: (ua.indexof ("msie")> -1 && ua.indexof ("Opera") == -1),
Gecko: (ua.indexof ("Gecko")> -1 && ua.indexof ("khtml") == -1),
Webkit: (ua.indexof ("Applewebkit")> -1),
Oper: (ua.indexof ("Opera")> -1)
};
}) ();