TemporeMovie: Javascript navigator.appCodeName gibt mir nur Mozilla zurück

Egal welchen browser ich Benutze, es kommt immer das gleiche bei raus,

ich habe eine function geschrieben:

function currentBrowser()  
{  
var browserName = navigator.appCodeName;  
alert(browserName);  
}

doch leider gibt mein Browser mir auch im Internet Explorer nur "Mozilla" aus, auch auf dem Handy (im normalen Samsung Browser) bekomme ich nur "Mozilla" zurück, sieht jemand meinen Fehler ?

Das ganze ist auf der Website temporemovie.funpic.de sichtbar (im Home auf dem Test Button)

  1. Hallo,

    du machst keinen Fehler. appCodeName liefert aus historischen Gründen »Mozilla«. Netscape 2.0 hatte damit angefangen und andere Browser taten es ihm nach.

    http://de.selfhtml.org/javascript/objekte/navigator.htm#app_code_name

    Aussagekräftiger ist der http://de.selfhtml.org/javascript/objekte/navigator.htm#user_agent@title=userAgent, aber auch darin kommen verwirrende Begriffe wie »Mozilla« vor. Eine Browsererkennung ist nicht trivial, und meistens unnötig oder sogar kontraproduktiv.

    Was hast du genau mit der Information vor?

    Viele Grüße
    Mathias

    1. Eine Browsererkennung ist nicht trivial, und meistens unnötig oder sogar kontraproduktiv.

      Was hast du genau mit der Information vor?

      Ich hätte evtl. Interesse an einer Browserweiche mit einem Warnhinweis für IE7 und 8, da hier einige JavaScript-Befehle nicht gehen, z.B bei Deiner Antwort hier:

      http://forum.de.selfhtml.org/?t=217018&m=1489645

      Eigentlich müsste ich als Anfänger bei jedem JavaScript-Befehl/Aufruf caniuse.com fragen und dann nach
      http://molily.de/js/browser.html

      eine Fähigkeitserkennung durchführen.

      Einen einfachen Weg ohne Arbeit gibt's wahrscheinlich nicht, oder?

      LG Matthias Scharwies

      1. Hallo!

        Ich hätte evtl. Interesse an einer Browserweiche mit einem Warnhinweis für IE7 und 8, da hier einige JavaScript-Befehle nicht gehen, z.B bei Deiner Antwort hier:
        http://forum.de.selfhtml.org/?t=217018&m=1489645

        Function.prototype.bind lässt sich problemlos nachrüsten.

        Die angesprochenen Underscore und Lodash sind Bibliotheken, die derartige Browserunterschiede nivellieren und eine sichere Schnittstelle anbieten.

        Eigentlich müsste ich als Anfänger bei jedem JavaScript-Befehl/Aufruf caniuse.com fragen und dann nach
        http://molily.de/js/browser.html
        eine Fähigkeitserkennung durchführen.

        Ja. Sofern eine Fähigkeitenerkennung denn nötig ist. Mithilfe von Bibliotheken und Polyfills sorgt man dafür, dass der eigentlich Code sich um Browserunterschiede nicht mehr scheren muss.

        jQuery und der ECMAScript-5-Shim sind gute Beispiele. Der ES5-Shim rüstet auch Function.prototype.bind nach.

        Grüße
        Mathias

        1. Vielen Dank für die Links, ich werde sie durcharbeiten!

  2. Hallo

    Egal welchen browser ich Benutze, es kommt immer das gleiche bei raus,

    ich habe eine function geschrieben:

    function currentBrowser()

    {
    var browserName = navigator.appCodeName;
    alert(browserName);
    }

    
    >   
    > doch leider gibt mein Browser mir auch im Internet Explorer nur "Mozilla" aus, auch auf dem Handy (im normalen Samsung Browser) bekomme ich nur "Mozilla" zurück, sieht jemand meinen Fehler ?  
      
    Dass es den nicht gibt, hat molily ja schon geschrieben. Warum, kannst du [hier](http://webaim.org/blog/user-agent-string-history/) oder [dort](http://www.peterknaak.de/uas.html) (und auch an anderen Stellen) lesen.  
      
    Tschö, Auge  
    
    -- 
    Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.  
    Terry Pratchett, "Wachen! Wachen!"  
      
    ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}  
      
    [Veranstaltungsdatenbank Vdb 0.3](http://termindbase.auge8472.de/)