Safari-, Chrome-, IE-, Firefox- und Opera-Browser mit Duck-Typing erkennen
Die Bestimmung des Browsers des Benutzers ist oft erforderlich, um ihn umzuleiten zum entsprechenden Download-Link für browserspezifische Erweiterungen. Allerdings ist es aufgrund der Anfälligkeit für Spoofing unzuverlässig, sich bei der Browsererkennung auf die Zeichenfolge des Benutzeragenten zu verlassen.
Eine zuverlässigere Methode, bekannt als Duck-Typing, kann verwendet werden, um Browser anhand ihrer spezifischen Eigenschaften zu identifizieren. Hier ist eine Aufschlüsselung:
Opera 8.0 :
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
Firefox 1.0 :
var isFirefox = typeof InstallTrigger !== 'undefined';
Safari 3,0 :
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && window['safari'].pushNotification));
Internet Explorer 6-11:
var isIE = /*@cc_on!@*/false || !!document.documentMode;
Edge 20 :
var isEdge = !isIE && !!window.StyleMedia;
Chrome 1 - 79:
var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);
Kantenerkennung (basierend auf Chrom):
var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1);
Blinkmotorerkennung:
var isBlink = (isChrome || isOpera) && !!window.CSS;
Sobald Sie den Browser mit diesen Methoden erkannt haben, können Sie Benutzer zum entsprechenden Download-Link für sie weiterleiten browserspezifische Erweiterung.
Es ist jedoch wichtig zu betonen, dass Sie die Browsererkennung nur verwenden sollten, wenn dies erforderlich ist, z. B. um browserspezifische Installationsanweisungen anzuzeigen. Konzentrieren Sie sich als allgemeine Best Practice nach Möglichkeit auf die Funktionserkennung.
Das obige ist der detaillierte Inhalt vonWie kann ich Safari-, Chrome-, Firefox-, IE- und Opera-Browser mithilfe von Duck Typing zuverlässig erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!