Ich habe 5 Addons / Erweiterungen für FF, Chrome, IE, Opera und Safari.
Wie kann ich den Benutzerbrowser erkennen und umleiten (sobald auf eine Installationsschaltfläche geklickt wurde), um das entsprechende Addon herunterzuladen?
Ich habe 5 Addons / Erweiterungen für FF, Chrome, IE, Opera und Safari.
Wie kann ich den Benutzerbrowser erkennen und umleiten (sobald auf eine Installationsschaltfläche geklickt wurde), um das entsprechende Addon herunterzuladen?
Antworten:
Wenn Sie nach einer zuverlässigen Browsererkennung suchen, wird häufig die Zeichenfolge des Benutzeragenten überprüft. Diese Methode ist nicht zuverlässig, da es trivial ist, diesen Wert zu fälschen.
Ich habe eine Methode geschrieben, um Browser durch Eingabe von Enten zu erkennen .
Verwenden Sie die Browsererkennungsmethode nur, wenn dies wirklich erforderlich ist, z. B. das Anzeigen von browserspezifischen Anweisungen zum Installieren einer Erweiterung. Verwenden Sie nach Möglichkeit die Funktionserkennung.
Demo: https://jsfiddle.net/6spj1059/
// 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+ "[object HTMLElementConstructor]"
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && 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);
// Edge (based on chromium) detection
var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1);
// Blink engine detection
var isBlink = (isChrome || isOpera) && !!window.CSS;
var output = 'Detecting browsers by ducktyping:<hr>';
output += 'isFirefox: ' + isFirefox + '<br>';
output += 'isChrome: ' + isChrome + '<br>';
output += 'isSafari: ' + isSafari + '<br>';
output += 'isOpera: ' + isOpera + '<br>';
output += 'isIE: ' + isIE + '<br>';
output += 'isEdge: ' + isEdge + '<br>';
output += 'isEdgeChromium: ' + isEdgeChromium + '<br>';
output += 'isBlink: ' + isBlink + '<br>';
document.body.innerHTML = output;
Die vorherige Methode hing von den Eigenschaften der Rendering-Engine ( -moz-box-sizing
und -webkit-transform
) ab, um den Browser zu erkennen. Diese Präfixe werden irgendwann gelöscht. Um die Erkennung noch robuster zu gestalten, habe ich auf browserspezifische Merkmale umgestellt:
document.documentMode
.StyleMedia
Konstruktor verfügbar . Ohne Trident bleiben wir bei Edge.InstallTrigger
chrome
Objekt, das mehrere Eigenschaften enthält, einschließlich eines dokumentierten chrome.webstore
Objekts.chrome.webstore
ist veraltet und in neueren Versionen nicht definiertSafariRemoteNotification
, was nach Version 7.1 eingeführt wurde, um alle Safaris ab 3.0 abzudecken.window.opera
existiert seit Jahren, wird jedoch gelöscht, wenn Opera seine Engine durch Blink + V8 (von Chromium verwendet) ersetzt. chrome
Objekt definiert (aber chrome.webstore
nicht). Da Opera sich bemüht, Chrome zu klonen, verwende ich zu diesem Zweck das Sniffing von Benutzeragenten.!!window.opr && opr.addons
Kann verwendet werden, um Opera 20+ (immergrün) zu erkennen .CSS.supports()
wurde in Blink eingeführt, als Google Chrome 28 einschaltete. Es ist natürlich das gleiche Blink, das in Opera verwendet wurde.Im November 2016 aktualisiert, um die Erkennung von Safari-Browsern ab 9.1.3 zu ermöglichen
Aktualisiert im August 2018, um die neuesten erfolgreichen Tests für Chrome, Firefox IE und Edge zu aktualisieren.
Aktualisiert im Januar 2019, um die Chrome-Erkennung (aufgrund der Abwertung von window.chrome.webstore) zu korrigieren und die neuesten erfolgreichen Tests für Chrome einzuschließen.
Im Dezember 2019 aktualisiert, um Edge basierend auf der Chrom-Erkennung hinzuzufügen (basierend auf dem @ Nimesh-Kommentar).
window.chrome.webstore
definiert ist. Ich habe es nicht mit Firefox-Erweiterungen überprüft. is.js
An anderer Stelle erwähnt funktioniert dies sowohl in Chrome- als auch in Firefox-Erweiterungen.
isSafari
funktioniert nicht mit Safari 10. Ich werde argumentieren, dass dies eine schlechte Lösung ist (nicht, dass ich eine gute habe). Es gibt keine Garantie dafür, dass viele der Dinge, nach denen Sie suchen, nicht entfernt oder von anderen Browsern nicht hinzugefügt werden. Jede Site, die diesen Code zur Überprüfung auf Safari verwendete, brach gerade mit den Upgrades von macOS Sierra oder Safari 10 :(
isSafari
funktioniert nicht <iframe>
unter Safari 10.1.2
Sie können versuchen, die Browserversion auf folgende Weise zu überprüfen.
<!DOCTYPE html>
<html>
<body>
<p>What is the name(s) of your browser?</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
if((navigator.userAgent.indexOf("Opera") || navigator.userAgent.indexOf('OPR')) != -1 )
{
alert('Opera');
}
else if(navigator.userAgent.indexOf("Chrome") != -1 )
{
alert('Chrome');
}
else if(navigator.userAgent.indexOf("Safari") != -1)
{
alert('Safari');
}
else if(navigator.userAgent.indexOf("Firefox") != -1 )
{
alert('Firefox');
}
else if((navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true )) //IF IE > 10
{
alert('IE');
}
else
{
alert('unknown');
}
}
</script>
</body>
</html>
Und wenn Sie nur die IE-Browser-Version kennen müssen, können Sie dem folgenden Code folgen. Dieser Code funktioniert gut für die Versionen IE6 bis IE11
<!DOCTYPE html>
<html>
<body>
<p>Click on Try button to check IE Browser version.</p>
<button onclick="getInternetExplorerVersion()">Try it</button>
<p id="demo"></p>
<script>
function getInternetExplorerVersion() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
var rv = -1;
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer, return version number
{
if (isNaN(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))))) {
//For IE 11 >
if (navigator.appName == 'Netscape') {
var ua = navigator.userAgent;
var re = new RegExp("Trident/.*rv:([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null) {
rv = parseFloat(RegExp.$1);
alert(rv);
}
}
else {
alert('otherbrowser');
}
}
else {
//For < IE11
alert(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))));
}
return false;
}}
</script>
</body>
</html>
chrome
Schlüsselwort im Useragent hat. Beispiel für Safari Useragent -mozilla/5.0 (macintosh; intel mac os x 10_11_5) applewebkit/601.6.17 (khtml, like gecko) version/9.1.1 safari/601.6.17
if(navigator.userAgent.indexOf("Opera") != -1 || navigator.userAgent.indexOf('OPR') != -1 )
Ich weiß, dass es vielleicht übertrieben ist, eine Bibliothek dafür zu verwenden, aber nur um den Thread anzureichern, können Sie die Vorgehensweise von is.j überprüfen :
is.firefox();
is.ie(6);
is.not.safari();
is.js
und überprüfen Sie, wie sie es tun.
Hier sind einige prominente Bibliotheken, die sich ab Dezember 2019 mit der Browsererkennung befassen.
var result = bowser.getParser(window.navigator.userAgent);
console.log(result);
document.write("You are using " + result.parsedResult.browser.name +
" v" + result.parsedResult.browser.version +
" on " + result.parsedResult.os.name);
<script src="https://unpkg.com/bowser@2.7.0/es5.js"></script>
* unterstützt Edge basierend auf Chromium
console.log(platform);
document.write("You are using " + platform.name +
" v" + platform.version +
" on " + platform.os);
<script src="https://cdnjs.cloudflare.com/ajax/libs/platform/1.3.5/platform.min.js"></script>
console.log($.browser)
document.write("You are using " + $.browser.name +
" v" + $.browser.versionNumber +
" on " + $.browser.platform);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-browser/0.1.0/jquery.browser.min.js"></script>
var result = detect.parse(navigator.userAgent);
console.log(result);
document.write("You are using " + result.browser.family +
" v" + result.browser.version +
" on " + result.os.family);
<script src="https://cdnjs.cloudflare.com/ajax/libs/Detect.js/2.2.2/detect.min.js"></script>
console.log(BrowserDetect)
document.write("You are using " + BrowserDetect.browser +
" v" + BrowserDetect.version +
" on " + BrowserDetect.OS);
<script src="https://kylemit.github.io/libraries/libraries/BrowserDetect.js"></script>
Für den Fall, dass jemand dies nützlich findet, habe ich die Antwort von Rob W in eine Funktion umgewandelt, die die Browserzeichenfolge zurückgibt, anstatt mehrere Variablen im Umlauf zu haben. Da sich der Browser auch nicht wirklich ändern kann, ohne ihn erneut zu laden, habe ich das Ergebnis zwischengespeichert, um zu verhindern, dass es beim nächsten Aufruf der Funktion bearbeitet werden muss.
/**
* Gets the browser name or returns an empty string if unknown.
* This function also caches the result to provide for any
* future calls this function has.
*
* @returns {string}
*/
var browser = function() {
// Return cached result if avalible, else get result then cache it.
if (browser.prototype._cachedResult)
return browser.prototype._cachedResult;
// 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+ "[object HTMLElementConstructor]"
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || safari.pushNotification);
// Internet Explorer 6-11
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
var isChrome = !!window.chrome && !!window.chrome.webstore;
// Blink engine detection
var isBlink = (isChrome || isOpera) && !!window.CSS;
return browser.prototype._cachedResult =
isOpera ? 'Opera' :
isFirefox ? 'Firefox' :
isSafari ? 'Safari' :
isChrome ? 'Chrome' :
isIE ? 'IE' :
isEdge ? 'Edge' :
isBlink ? 'Blink' :
"Don't know";
};
console.log(browser());
window.chrome.webstore
wurde in Chrome 71 entfernt, sodass dieser Ansatz nicht mehr funktioniert.
Kurze Variante
var browser = (function() {
var test = function(regexp) {
return regexp.test(window.navigator.userAgent);
}
switch (true) {
case test(/edg/i): return "edge";
case test(/opr/i) && (!!window.opr || !!window.opera): return "opera";
case test(/chrome/i) && !!window.chrome: return "chrome";
case test(/trident/i): return "ie";
case test(/firefox/i): return "firefox";
case test(/safari/i): return "safari";
default: return "other";
}
})();
console.log(browser)
Hier ist eine 2016 angepasste Version von Robs Antwort, einschließlich Microsoft Edge und Erkennung von Blink:
( Bearbeiten : Ich habe Robs Antwort oben mit diesen Informationen aktualisiert.)
// Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Firefox 1.0+
isFirefox = typeof InstallTrigger !== 'undefined';
// Safari 3.0+
isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || safari.pushNotification);
// Internet Explorer 6-11
isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
isChrome = !!window.chrome && !!window.chrome.webstore;
// Blink engine detection
isBlink = (isChrome || isOpera) && !!window.CSS;
/* Results: */
console.log("isOpera", isOpera);
console.log("isFirefox", isFirefox);
console.log("isSafari", isSafari);
console.log("isIE", isIE);
console.log("isEdge", isEdge);
console.log("isChrome", isChrome);
console.log("isBlink", isBlink);
Das Schöne an diesem Ansatz ist, dass er sich auf die Eigenschaften der Browser-Engine stützt und daher auch abgeleitete Browser wie Yandex oder Vivaldi abdeckt, die praktisch mit den wichtigsten Browsern kompatibel sind, deren Engines sie verwenden. Die Ausnahme ist Opera, das sich auf das Schnüffeln von Benutzeragenten stützt, aber heute (dh ab Version 15) ist sogar Opera selbst nur eine Shell für Blink.
!!window.MSAssertion;
Test funktioniert bei mir in der Edge-Beta über Remotedesktop nicht. Es wird false zurückgegeben.
MSAssertion
Trick ist auf Version 25 angepasst. Da sich jedoch viele Entwickler auf die VMs verlassen, werde ich versuchen, diese ältere Version anzupassen. Guter Anruf. Vielen Dank.
StyleMedia
(großgeschriebene) Objekt ist spezifisch für IE und Edge und scheint nirgendwo hin zu gehen.
Sie können die verschiedenen Browser-Fehlermeldungen verwenden try
und catch
verwenden. IE und Edge waren verwechselt, aber ich habe die Ententypisierung von Rob W verwendet (basierend auf diesem Projekt hier: https://www.khanacademy.org/computer-programming/i-have-opera/2395080328 ).
var getBrowser = function() {
try {
var e;
var f = e.width;
} catch(e) {
var err = e.toString();
if(err.indexOf("not an object") !== -1) {
return "safari";
} else if(err.indexOf("Cannot read") !== -1) {
return "chrome";
} else if(err.indexOf("e is undefined") !== -1) {
return "firefox";
} else if(err.indexOf("Unable to get property 'width' of undefined or null reference") !== -1) {
if(!(false || !!document.documentMode) && !!window.StyleMedia) {
return "edge";
} else {
return "IE";
}
} else if(err.indexOf("cannot convert e into object") !== -1) {
return "opera";
} else {
return undefined;
}
}
};
Dank euch allen. Ich habe die Codefragmente hier in den letzten Browsern getestet: Chrome 55, Firefox 50, IE 11 und Edge 38, und ich habe die folgende Kombination gefunden, die für alle von ihnen funktioniert hat. Ich bin sicher, dass es verbessert werden kann, aber es ist eine schnelle Lösung für alle, die es brauchen:
var browser_name = '';
isIE = /*@cc_on!@*/false || !!document.documentMode;
isEdge = !isIE && !!window.StyleMedia;
if(navigator.userAgent.indexOf("Chrome") != -1 && !isEdge)
{
browser_name = 'chrome';
}
else if(navigator.userAgent.indexOf("Safari") != -1 && !isEdge)
{
browser_name = 'safari';
}
else if(navigator.userAgent.indexOf("Firefox") != -1 )
{
browser_name = 'firefox';
}
else if((navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true )) //IF IE > 10
{
browser_name = 'ie';
}
else if(isEdge)
{
browser_name = 'edge';
}
else
{
browser_name = 'other-browser';
}
$('html').addClass(browser_name);
Es fügt dem HTML-Code eine CSS-Klasse mit dem Namen des Browsers hinzu.
Keine Ahnung, ob es für jemanden nützlich ist, aber hier ist eine Variante, um TypeScript glücklich zu machen.
export function getBrowser() {
// Opera 8.0+
if ((!!window["opr"] && !!["opr"]["addons"]) || !!window["opera"] || navigator.userAgent.indexOf(' OPR/') >= 0) {
return 'opera';
}
// Firefox 1.0+
if (typeof window["InstallTrigger"] !== 'undefined') {
return 'firefox';
}
// Safari 3.0+ "[object HTMLElementConstructor]"
if (/constructor/i.test(window["HTMLElement"]) || (function(p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof window["safari"] !== 'undefined' && window["safari"].pushNotification))) {
return 'safari';
}
// Internet Explorer 6-11
if (/*@cc_on!@*/false || !!document["documentMode"]) {
return 'ie';
}
// Edge 20+
if (!(/*@cc_on!@*/false || !!document["documentMode"]) && !!window["StyleMedia"]) {
return 'edge';
}
// Chrome 1+
if (!!window["chrome"] && !!window["chrome"].webstore) {
return 'chrome';
}
// Blink engine detection
if (((!!window["chrome"] && !!window["chrome"].webstore) || ((!!window["opr"] && !!["opr"]["addons"]) || !!window["opera"] || navigator.userAgent.indexOf(' OPR/') >= 0)) && !!window["CSS"]) {
return 'blink';
}
}}
Erkennen von Browsern auf Desktop und Mobile: Edge, Opera, Chrome, Safari, Firefox, IE
Ich habe einige Änderungen am @ nimesh-Code vorgenommen, jetzt funktioniert er auch für Edge, und das Opera-Problem wurde behoben:
function getBrowserName() {
if ( navigator.userAgent.indexOf("Edge") > -1 && navigator.appVersion.indexOf('Edge') > -1 ) {
return 'Edge';
}
else if( navigator.userAgent.indexOf("Opera") != -1 || navigator.userAgent.indexOf('OPR') != -1 )
{
return 'Opera';
}
else if( navigator.userAgent.indexOf("Chrome") != -1 )
{
return 'Chrome';
}
else if( navigator.userAgent.indexOf("Safari") != -1)
{
return 'Safari';
}
else if( navigator.userAgent.indexOf("Firefox") != -1 )
{
return 'Firefox';
}
else if( ( navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true ) ) //IF IE > 10
{
return 'IE';
}
else
{
return 'unknown';
}
}
Danke @nimesh Benutzer: 2063564
Es gibt auch eine weniger "hackige" Methode, die für alle gängigen Browser funktioniert. Google hat einen Browser-Check in seine Closure Library aufgenommen . Schauen Sie sich insbesondere goog.userAgent
und an goog.userAgent.product
. Auf diese Weise sind Sie auch auf dem neuesten Stand, wenn sich etwas an der Darstellung der Browser ändert (vorausgesetzt, Sie führen immer die neueste Version des Closure-Compilers aus.)
Wenn Sie wissen müssen, wie die numerische Version eines bestimmten Browsers lautet, können Sie das folgende Snippet verwenden. Derzeit wird Ihnen die Version von Chrome / Chromium / Firefox angezeigt:
var match = $window.navigator.userAgent.match(/(?:Chrom(?:e|ium)|Firefox)\/([0-9]+)\./);
var ver = match ? parseInt(match[1], 10) : 0;
UAParser ist eine der leichtgewichtigen JavaScript-Bibliotheken zum Identifizieren von Browser, Engine, Betriebssystem, CPU und Gerätetyp / -modell anhand der userAgent-Zeichenfolge.
Es ist ein CDN verfügbar. Hier habe ich einen Beispielcode zum Erkennen des Browsers mit UAParser eingefügt.
<!doctype html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/ua-parser-js@0/dist/ua-parser.min.js"></script>
<script type="text/javascript">
var parser = new UAParser();
var result = parser.getResult();
console.log(result.browser); // {name: "Chromium", version: "15.0.874.106"}
</script>
</head>
<body>
</body>
</html>
Jetzt können Sie den Wert von verwenden result.browser
, um Ihre Seite bedingt zu programmieren.
Quell-Tutorial: Wie erkenne ich Browser, Engine, Betriebssystem, CPU und Gerät mithilfe von JavaScript?
var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) || "Other";
this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "Unknown";
},
searchString: function (data) {
for (var i = 0; i < data.length; i++) {
var dataString = data[i].string;
this.versionSearchString = data[i].subString;
if (dataString.indexOf(data[i].subString) !== -1) {
return data[i].identity;
}
}
},
searchVersion: function (dataString) {
var index = dataString.indexOf(this.versionSearchString);
if (index === -1) {
return;
}
var rv = dataString.indexOf("rv:");
if (this.versionSearchString === "Trident" && rv !== -1) {
return parseFloat(dataString.substring(rv + 3));
} else {
return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
}
},
dataBrowser: [
{string: navigator.userAgent, subString: "Edge", identity: "MS Edge"},
{string: navigator.userAgent, subString: "MSIE", identity: "Explorer"},
{string: navigator.userAgent, subString: "Trident", identity: "Explorer"},
{string: navigator.userAgent, subString: "Firefox", identity: "Firefox"},
{string: navigator.userAgent, subString: "Opera", identity: "Opera"},
{string: navigator.userAgent, subString: "OPR", identity: "Opera"},
{string: navigator.userAgent, subString: "Chrome", identity: "Chrome"},
{string: navigator.userAgent, subString: "Safari", identity: "Safari"}
]
};
BrowserDetect.init();
var bv= BrowserDetect.browser;
if( bv == "Chrome"){
$("body").addClass("chrome");
}
else if(bv == "MS Edge"){
$("body").addClass("edge");
}
else if(bv == "Explorer"){
$("body").addClass("ie");
}
else if(bv == "Firefox"){
$("body").addClass("Firefox");
}
$(".relative").click(function(){
$(".oc").toggle('slide', { direction: 'left', mode: 'show' }, 500);
$(".oc1").css({
'width' : '100%',
'margin-left' : '0px',
});
});
Dies kombiniert sowohl Robs ursprüngliche Antwort als auch Pilaus Update für 2016
var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
var isFirefox = typeof InstallTrigger !== 'undefined'; // Firefox 1.0+
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
// At least Safari 3+: "[object HTMLElementConstructor]"
var isChrome = !!window.chrome && !isOpera; // Chrome 1+
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
var output = 'Detecting browsers by ducktyping:<hr>';
output += 'isFirefox: ' + isFirefox + '<br>';
output += 'isChrome: ' + isChrome + '<br>';
output += 'isSafari: ' + isSafari + '<br>';
output += 'isOpera: ' + isOpera + '<br>';
output += 'isIE: ' + isIE + '<br>';
output += 'isIE Edge: ' + isEdge + '<br>';
document.body.innerHTML = output;
Hier erfahren Sie, welcher Browser ausgeführt wird.
function isValidBrowser(navigator){
var isChrome = navigator.indexOf('chrome'),
isFireFox= navigator.indexOf('firefox'),
isIE = navigator.indexOf('trident') ,
isValidChromeVer = parseInt(navigator.substring(isChrome+7, isChrome+8)) >= 4,
isValidFireForVer = parseInt(navigator.substring(isFireFox+8, isFireFox+9)) >= 3,
isValidIEVer = parseInt(navigator.substring(isIE+8, isIE+9)) >= 7;
if((isChrome > -1 && isValidChromeVer){ console.log("Chrome Browser")}
if(isFireFox > -1 && isValidFireForVer){ console.log("FireFox Browser")}
if(isIE > -1 && isValidIEVer)){ console.log("IE Browser")}
}
Wir können unten util Methoden verwenden
utils.isIE = function () {
var ver = navigator.userAgent;
return ver.indexOf("MSIE") !== -1 || ver.indexOf("Trident") !== -1; // need to check for Trident for IE11
};
utils.isIE32 = function () {
return (utils.isIE() && navigator.appVersion.indexOf('Win64') === -1);
};
utils.isChrome = function () {
return (window.chrome);
};
utils.isFF64 = function () {
var agent = navigator.userAgent;
return (agent.indexOf('Win64') >= 0 && agent.indexOf('Firefox') >= 0);
};
utils.isFirefox = function () {
return (navigator.userAgent.toLowerCase().indexOf('firefox') > -1);
};
const isChrome = /Chrome/.test(navigator.userAgent)
const isFirefox = /Firefox/.test(navigator.userAgent)
Eine einfache, einzelne Zeile JavaScript-Code gibt Ihnen den Namen des Browsers:
function GetBrowser()
{
return navigator ? navigator.userAgent.toLowerCase() : "other";
}
navigator.userAgent
dass er Ihnen sagt, dass jeder Browser möglich ist. Dies ist also wirklich nicht zuverlässig. Der einzige Fall, in dem es funktionieren würde, ist, wenn der Benutzer nur einen Browser hat.