webentwicklung-frage-antwort-db.com.de

Wie erhalte ich die Client-Seite für den Browsernamen?

Gibt es ein Objekt/eine Methode, die mir Informationen über den Browser auf der Clientseite gibt?

Zum Beispiel muss ich IE browser erkennen. Ich verwende:

function st_IsIE()
{
    if(navigator.appName.indexOf("Microsoft Internet Explorer") != -1)
    {
        return true;
    }
    return false;
}

Gibt es einen besseren Weg?

26
Viral Shah

BEARBEITEN: Da die Antwort mit neueren Versionen von jquery nicht gültig ist, da jQuery.browser in Version 1.9 veraltet ist, verwenden Sie Jquery Migrate Plugin für diese Angelegenheit.


Ursprüngliche Antwort

jQuery.browser

jQuery.browser und jQuery.browser.version

ist dein Weg zu gehen ...

13
Raab

JavaScript-Seite - Sie können den Namen des Browsers wie folgt abrufen ...

if(window.navigator.appName == "") OR if(window.navigator.userAgent == "")
22
pedram

Dies ist eine reine JavaScript-Lösung . Welches war ich erforderlich.
Ich habe es mit verschiedenen Browsern versucht. Es funktioniert gut. Ich hoffe es hilft.

Wie erkenne ich den Browsernamen?

Sie können die Eigenschaften navigator.appName Und navigator.userAgent Verwenden. Die Eigenschaft userAgent ist zuverlässiger als appName, da Firefox (und einige andere Browser) aus Kompatibilitätsgründen möglicherweise die Zeichenfolge "Netscape" als Wert von navigator.appName Zurückgibt Netscape Navigator.

Beachten Sie jedoch, dass navigator.userAgent Auch gefälscht werden kann - das heißt, Clients können praktisch jede Zeichenfolge für ihr userAgent einsetzen. Daher sollte alles, was wir entweder von appName oder userAgent ableiten, mit einem Körnchen Salz eingenommen werden.

var nVer = navigator.appVersion;
var nAgt = navigator.userAgent;
var browserName  = navigator.appName;
var fullVersion  = ''+parseFloat(navigator.appVersion); 
var majorVersion = parseInt(navigator.appVersion,10);
var nameOffset,verOffset,ix;

// In Opera, the true version is after "Opera" or after "Version"
if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
   browserName = "Opera";
   fullVersion = nAgt.substring(verOffset+6);
   if ((verOffset=nAgt.indexOf("Version"))!=-1) 
     fullVersion = nAgt.substring(verOffset+8);
}
// In MSIE, the true version is after "MSIE" in userAgent
else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
   browserName = "Microsoft Internet Explorer";
   fullVersion = nAgt.substring(verOffset+5);
}
// In Chrome, the true version is after "Chrome" 
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
   browserName = "Chrome";
   fullVersion = nAgt.substring(verOffset+7);
}
// In Safari, the true version is after "Safari" or after "Version" 
else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {
   browserName = "Safari";
   fullVersion = nAgt.substring(verOffset+7);
   if ((verOffset=nAgt.indexOf("Version"))!=-1) 
     fullVersion = nAgt.substring(verOffset+8);
}
// In Firefox, the true version is after "Firefox" 
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
    browserName = "Firefox";
    fullVersion = nAgt.substring(verOffset+8);
}
// In most other browsers, "name/version" is at the end of userAgent 
else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < (verOffset=nAgt.lastIndexOf('/')) ) {
    browserName = nAgt.substring(nameOffset,verOffset);
    fullVersion = nAgt.substring(verOffset+1);
    if (browserName.toLowerCase()==browserName.toUpperCase()) {
       browserName = navigator.appName;
    }
}
// trim the fullVersion string at semicolon/space if present
if ((ix=fullVersion.indexOf(";"))!=-1)
    fullVersion=fullVersion.substring(0,ix);
if ((ix=fullVersion.indexOf(" "))!=-1)
    fullVersion=fullVersion.substring(0,ix);

majorVersion = parseInt(''+fullVersion,10);
if (isNaN(majorVersion)) {
    fullVersion  = ''+parseFloat(navigator.appVersion); 
    majorVersion = parseInt(navigator.appVersion,10);
}

document.write(''
                +'Browser name  = '+browserName+'<br>'
                +'Full version  = '+fullVersion+'<br>'
                +'Major version = '+majorVersion+'<br>'
                +'navigator.appName = '+navigator.appName+'<br>'
                +'navigator.userAgent = '+navigator.userAgent+'<br>');

Aus der Quelle javascripter.net

18
Aniket Kulkarni

In c # Sie Ihren Browsernamen mit:

System.Web.HttpBrowserCapabilities browser = Request.Browser;

Einzelheiten finden Sie unter einem Link.

http://msdn.Microsoft.com/en-us/library/3yekbd5b%28v=vs.100%29.aspx

und auf Kundenseite:

JQuery:

jQuery.browser

Für Details siehe einen Link:

http://api.jquery.com/jQuery.browser/

6
Shree

Der Browser offenbart es in navigator.userAgent. Wenn Sie jQuery verwenden, sollten Sie jQuery.browser wie @Rab Nawaz sagte. Wie in der API-Dokumentation angegeben, ist es jedoch besser, nach Möglichkeit auf Funktionsunterstützung zu prüfen. Zitieren der Dokumentation:

Wir empfehlen, diese Eigenschaft nicht zu verwenden. Bitte versuchen Sie stattdessen, die Feature-Erkennung zu verwenden (siehe jQuery.support ). jQuery.browser kann in einer zukünftigen Version von jQuery in ein Plugin verschoben werden.

Hier ist ein Codebeispiel:

function isIE() {
    if (window.jQuery) {
        return jQuery.browser.msie || false;
    } else {
        // adapted from jQuery's source:
        return navigator.userAgent.toLowerCase().indexOf('msie') >= 0;
    }
}
4
Hosam Aly

Dies wird in beantwortet

Wie erkennt man Safari, Chrome, IE, Firefox und Opera Browser?

Überprüfen Sie this Geige.

Hoffe das hilft.

3
Steven Dsouza

Es geht nur darum, was Sie wirklich tun möchten, aber in den kommenden Zeiten und jetzt ist der beste Weg, die Browser-Erkennung zu vermeiden und nach Funktionen zu suchen. wie Canvas , Audio , WebSockets , etc durch einfache Javascript-Aufrufe oder in Ihrem CSS, für mich ist Ihr bester Ansatz ein Tool wie ModernizR :

Anders als bei der traditionellen - aber höchst unzuverlässigen - Methode des "UA-Sniffing", bei der ein Browser anhand seiner (vom Benutzer konfigurierbaren) Eigenschaft navigator.userAgent Erkannt wird, führt Modernizr die eigentlichen Funktionen aus Erkennung , um zuverlässig zu erkennen, was die verschiedenen Browser können und was nicht.

Wenn Sie CSS verwenden, können Sie dies tun:

.no-js .glossy,
.no-cssgradients .glossy {
    background: url("images/glossybutton.png");
}

.cssgradients .glossy {
    background-image: linear-gradient(top, #555, #333);
}

da es alle Features als Klassennamen in das <html> - Element lädt und anhängt, können Sie in Bezug auf CSS tun, was Sie möchten.

Und Sie können Dateien sogar auf Features laden, z. B. eine PolyFill-JS- und CSS-Datei, wenn der Browser keine native Unterstützung bietet

Modernizr.load([
  // Presentational polyfills
  {
    // Logical list of things we would normally need
    test : Modernizr.fontface && Modernizr.canvas && Modernizr.cssgradients,
    // Modernizr.load loads css and javascript by default
    nope : ['presentational-polyfill.js', 'presentational.css']
  },
  // Functional polyfills
  {
    // This just has to be truthy
    test : Modernizr.websockets && window.JSON,
    // socket-io.js and json2.js
    nope : 'functional-polyfills.js',
    // You can also give arrays of resources to load.
    both : [ 'app.js', 'extra.js' ],
    complete : function () {
      // Run this after everything in this group has downloaded
      // and executed, as well everything in all previous groups
      myApp.init();
    }
  },
  // Run your analytics after you've already kicked off all the rest
  // of your app.
  'post-analytics.js'
]);

ein einfaches Beispiel für das Anfordern von Funktionen von Javascript:

http://jsbin.com/udoyic/1

2
balexandre

Dieser Code gibt "browser" und "browserVersion" zurück
Funktioniert mit 95% von mehr als 80 Browsern

var geckobrowsers;
var browser = "";
var browserVersion = 0;
var agent = navigator.userAgent + " ";
if(agent.substring(agent.indexOf("Mozilla/")+8, agent.indexOf(" ")) == "5.0" && agent.indexOf("like Gecko") != -1){
    geckobrowsers = agent.substring(agent.indexOf("like Gecko")+10).substring(agent.substring(agent.indexOf("like Gecko")+10).indexOf(") ")+2).replace("LG Browser", "LGBrowser").replace("360SE", "360SE/");
    for(i = 0; i < 1; i++){
        geckobrowsers = geckobrowsers.replace(geckobrowsers.substring(geckobrowsers.indexOf("("), geckobrowsers.indexOf(")")+1), "");
    }
    geckobrowsers = geckobrowsers.split(" ");
    for(i = 0; i < geckobrowsers.length; i++){
        if(geckobrowsers[i].indexOf("/") == -1)geckobrowsers[i] = "Chrome";
        if(geckobrowsers[i].indexOf("/") != -1)geckobrowsers[i] = geckobrowsers[i].substring(0, geckobrowsers[i].indexOf("/"));
    }
    if(geckobrowsers.length < 4){
        browser = geckobrowsers[0];
    } else {
        for(i = 0; i < geckobrowsers.length; i++){
            if(geckobrowsers[i].indexOf("Chrome") == -1 && geckobrowsers[i].indexOf("Safari") == -1 && geckobrowsers[i].indexOf("Mobile") == -1 && geckobrowsers[i].indexOf("Version") == -1)browser = geckobrowsers[i];
        }
    }
    browserVersion = agent.substring(agent.indexOf(browser)+browser.length+1, agent.indexOf(browser)+browser.length+1+agent.substring(agent.indexOf(browser)+browser.length+1).indexOf(" "));
} else if(agent.substring(agent.indexOf("Mozilla/")+8, agent.indexOf(" ")) == "5.0" && agent.indexOf("Gecko/") != -1){
    browser = agent.substring(agent.substring(agent.indexOf("Gecko/")+6).indexOf(" ") + agent.indexOf("Gecko/")+6).substring(0, agent.substring(agent.substring(agent.indexOf("Gecko/")+6).indexOf(" ") + agent.indexOf("Gecko/")+6).indexOf("/"));
    browserVersion = agent.substring(agent.indexOf(browser)+browser.length+1, agent.indexOf(browser)+browser.length+1+agent.substring(agent.indexOf(browser)+browser.length+1).indexOf(" "));
} else if(agent.substring(agent.indexOf("Mozilla/")+8, agent.indexOf(" ")) == "5.0" && agent.indexOf("Clecko/") != -1){
    browser = agent.substring(agent.substring(agent.indexOf("Clecko/")+7).indexOf(" ") + agent.indexOf("Clecko/")+7).substring(0, agent.substring(agent.substring(agent.indexOf("Clecko/")+7).indexOf(" ") + agent.indexOf("Clecko/")+7).indexOf("/"));
    browserVersion = agent.substring(agent.indexOf(browser)+browser.length+1, agent.indexOf(browser)+browser.length+1+agent.substring(agent.indexOf(browser)+browser.length+1).indexOf(" "));
} else if(agent.substring(agent.indexOf("Mozilla/")+8, agent.indexOf(" ")) == "5.0"){
    browser = agent.substring(agent.indexOf("(")+1, agent.indexOf(";"));
    browserVersion = agent.substring(agent.indexOf(browser)+browser.length+1, agent.indexOf(browser)+browser.length+1+agent.substring(agent.indexOf(browser)+browser.length+1).indexOf(" "));
} else if(agent.substring(agent.indexOf("Mozilla/")+8, agent.indexOf(" ")) == "4.0" && agent.indexOf(")")+1 == agent.length-1){
    browser = agent.substring(agent.indexOf("(")+1, agent.indexOf(")")).split("; ")[agent.substring(agent.indexOf("(")+1, agent.indexOf(")")).split("; ").length-1];
} else if(agent.substring(agent.indexOf("Mozilla/")+8, agent.indexOf(" ")) == "4.0" && agent.indexOf(")")+1 != agent.length-1){
    if(agent.substring(agent.indexOf(") ")+2).indexOf("/") != -1)browser = agent.substring(agent.indexOf(") ")+2, agent.indexOf(") ")+2+agent.substring(agent.indexOf(") ")+2).indexOf("/"));
    if(agent.substring(agent.indexOf(") ")+2).indexOf("/") == -1)browser = agent.substring(agent.indexOf(") ")+2, agent.indexOf(") ")+2+agent.substring(agent.indexOf(") ")+2).indexOf(" "));
    browserVersion = agent.substring(agent.indexOf(browser)+browser.length+1, agent.indexOf(browser)+browser.length+1+agent.substring(agent.indexOf(browser)+browser.length+1).indexOf(" "));
} else if(agent.substring(0, 6) == "Opera/"){
    browser = "Opera";
    browserVersion = agent.substring(agent.indexOf(browser)+browser.length+1, agent.indexOf(browser)+browser.length+1+agent.substring(agent.indexOf(browser)+browser.length+1).indexOf(" "));
    if(agent.substring(agent.indexOf("(")+1).indexOf(";") != -1)os = agent.substring(agent.indexOf("(")+1, agent.indexOf("(")+1+agent.substring(agent.indexOf("(")+1).indexOf(";"));
    if(agent.substring(agent.indexOf("(")+1).indexOf(";") == -1)os = agent.substring(agent.indexOf("(")+1, agent.indexOf("(")+1+agent.substring(agent.indexOf("(")+1).indexOf(")"));
} else if(agent.substring(0, agent.indexOf("/")) != "Mozilla" && agent.substring(0, agent.indexOf("/")) != "Opera"){
    browser = agent.substring(0, agent.indexOf("/"));
    browserVersion = agent.substring(agent.indexOf(browser)+browser.length+1, agent.indexOf(browser)+browser.length+1+agent.substring(agent.indexOf(browser)+browser.length+1).indexOf(" "));
} else {
    browser = agent;
}
alert(browser + " v" + browserVersion);
2
Jason D'Souza