15 Reaktionen

User Agent Switcher funktioniert seit Firefox 17 nicht mehr – Lösung

Geschätzte Lesedauer:

Der User Agent Switcher gehört mit mehr als einer halben Million aktiven Benutzern zu den beliebtesten Firefox-Erweiterungen für Entwickler. Seit Firefox 17 funktioniert dieser allerdings nicht mehr richtig. Abhilfe schafft die in diesem Artikel vorgestellte Lösung.

Mit Hilfe der Erweiterung User Agent Switcher ist es möglich, den User-Agent, welchen der Browser sendet, auf bequeme Weise zu verändern. Dies kann vor allem dann praktisch sein, wenn man sich als anderer Browser ausgeben möchte. Seit Firefox 17 funktioniert diese Erweiterung allerdings nicht mehr wie gewünscht, beim Auslesen über JavaScript (navigator.userAgent) wird anstelle des veränderten User-Agents der originale User-Agent erkannt. Von diesem Problem sind auch andere Erweiterungen wie UAControl oder ua-site-switch betroffen.

Abhilfe schafft die Erweiterung User-Agent JS Fixer. Diese Erweiterung macht für sich alleine betrachtet nichts, stellt aber die Funktionalität der genannten Erweiterungen wieder her. Nach Installation der Erweiterung funktionieren der User Agent Switcher wie auch die anderen Erweiterungen, welche den User-Agent verändern, wieder wie gewünscht.

User-Agent JS Fixer

Dieser Artikel wurde von Sören Hentzschel verfasst.

Sören Hentzschel ist Webentwickler aus Salzburg. Auf soeren-hentzschel.at informiert er umfassend über Neuigkeiten zu Mozilla. Außerdem ist er Betreiber von camp-firefox.de, der ersten Anlaufstelle im deutschsprachigen Raum für Firefox-Probleme aller Art. Weitere Projekte sind firefox.agenedia.com, mozilla.de, firefoxosdevices.org sowie sozone.de.

15 Kommentare - bis jetzt!

Eigenen Kommentar verfassen
  1. Thomas
    schrieb am :

    Interessant. Wer toll wenn Mozilla hier professionelle Abhilfe schaffen könnte, also UserAgent Sprachkennung bzw. eben auch bei Bedarf die Kennung des Browers an sich zu ändern(kann ja der Opera schon ewig aber vielleicht auch mal der Fuchs).

  2. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Firefox bietet von Haus aus die Möglichkeit, den User-Agent zu überschreiben, einfach über about:config den Schalter general.useragent.override auf einen beliebigen String setzen.

    Die Sprache ist nicht Bestandteil des User-Agents. Das war vor einigen Jahren mal so, ist aber glücklicherweise schon lange nicht mehr so. Zum einen soll der User-Agent so wenig wie möglich vom Benutzer preisgeben, zum anderen sollte die Sprache auch nicht darüber ausgelesen werden. Der Browser bietet eine Einstellmöglichkeit dafür, in welcher Sprache man Inhalte bekommen möchte, der Browser sendet dann einen entsprechenden HTTP-Header an die Webseite. Webseiten können diesen auslesen.

  3. schrieb am :

    Hm, ich kann das Problem für meine 2 Rechner mit Firefox 17/18 nicht bestätigen und kommentiere hier als Ei-Phone 5. User Agent Switcher funzt bei mir einwandfrei.

  4. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Wird der User-Agent auf der Seite, auf welcher du testest, serverseitig ausgelesen? Das funktioniert auch in Firefox 17+. Das clientseitige Auslesen via JavaScript (navigator.userAgent) gibt ab Firefox 17 nur noch den originalen User-Agent zurück.

  5. Thomas
    schrieb am :

    Danke das hab ich definitiv noch nicht gewusst das die Sprachkennung heutzutage nicht mehr mit dem Useragent mitgeschickt wird. Die Spracheinstellung(Sprachkennung!) im FF kenn ich hab Sie auch schon eingestellt. Sprachpakete nach Auswahl nachzuladen ist das möglich? Die Idee zwischen verschiedenen Benutzersprachen im FF wechseln zu können lässt mich nicht ganz los. Im Zusammenhang mit der Browser-ID bwz. Persona ergibt sich hier ein hohes Maß an Benutzerfreundlichkeit- hoffe das Mozilla das in Zukunft auch umsetzt, wenn schon „global“ dann RICHTIG!

  6. schrieb am :

    Entschuldige wenn ich so anfängermäßig nachfrage: Heißt das, dass UA-Switcher nur dann nicht funktioniert, wenn Java-Script überhaupt erstmal in Firefox zugelassen ist? Heißt das, dass bei geblocktem JS (Plugin NoScript usw.) der richtige UA dann doch nicht ermittelbar ist? Ich habe einige UA-Test-Seiten angesurft und bekomme immer den gefakten UA angezeigt (ob mit oder ohne JS). Kennst Du eine UA-Test-Seite, die den UA clientseitig per JS ermittelt, damit ich das eindeutig verifizieren kann?

  7. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    @ Thomas: Sprachpakete kannst du dir ja herunterladen und dann wie im Artikel zu den selbstaktualisierenden Sprachpaketen auf AMO beschrieben jederzeit wechseln. 😉

    @ Jochen: Wenn JavaScript nicht aktiviert ist, dann kann der User-Agent immer noch serverseitig ausgelesen werden und ist ermittelbar. Zum clientseitigen Auslesen muss JavaScript aktiviert sein. Du kannst das auf dieser Seite hier testen: Stelle den User-Agent auf eine ältere Firefox-Version. Du wirst oben auf der Seite eine Hinweisleiste erhalten, wenn JavaScript aktiviert und die genannte Erweiterung installiert ist, nicht aber, wenn JavaScript aktiviert und die genannte Erweiterung nicht installiert ist. Und natürlich nicht, wenn JavaScript deaktiviert ist.

    Übrigens ist JavaScript nichts Böses. Im Jahr 2013 kann ich niemandem mehr empfehlen, eine Erweiterung wie NoScript zu installieren. Und wenn es um das Blockieren von Java und Flash geht, Firefox hat von Haus aus optional ein sogenanntes Click-to-Play, also dass Plugins erst bei Bedarf geladen werden. 😉

  8. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Update 27.01.2013: Diesen Artikel kann man sich ab sofort auch vorlesen lassen.

  9. schrieb am :

    Ich dachte zu dem Thema Podcast hier im Blog kommt auch noch mal ein richtiger Artikel, kann ja sein das manche Leute das auf den Artikelseiten übersehen. Ich habs z.B. auf dem RSS Button auch nicht gleich entdeckt. Bisher noch ein wenig zu versteckt die Podcast Funktion finde ich.

  10. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Kommt noch, ich warte damit aber erst noch auf die Freischaltung in iTunes. 😉

  11. Luigi
    schrieb am :

    http://browserspy.dk/useragent.php
    Zum Testen kann man auch diese Seite nutzen.
    Zeigt Header und Javascript Useragentstring in Klartext.

    Das mit dem Artikel vorlesen funktioniert nicht mit Firefox 20 Mobile auf Android 2.3.6
    mit deaktivierten media.plugins.
    Aber auf XP mit Firefox 18.0.1 haut es hin.

  12. Luigi
    schrieb am :

    Bei mir funktioniert der „User Agent Switcher“ einwandfrei. Firefox 18.0.1 auf Windows XP.

     

     

  13. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Siehe Kommentare weiter oben: Der User Agent Switcher funktioniert bei serverseitiger Überprüfung auch in Firefox 17+, nicht aber bei clientseitiger Überprüfung des User-Agents über JavaScript. Einfach mal navigator.userAgent in der Webkonsole ausprobieren. 😉

    Zwecks mobiler Nutzung der Podcast-Funktion, da werde ich auf jeden Fall noch sehen müssen, was sich machen lässt.

  14. Luigi
    schrieb am :

    I werd deppert 😉 Da Firefox hat a Webkonsole!

    Natürlich hast du Recht. Währe aber nie auf die Idee gekommen, daß dieses Feature auch „Clientmäßig“ Sinn macht.

    So schaut deine Website auf meinem Galaxy S Plus aus.

    Einmal Link zur Website und noch als Hotlink, für Adblock-Plus-Nichtuser.

    http://s1.directupload.net/file/d/3148/df8zc7al_png.htm

    http://s1.directupload.net/images/130127/df8zc7al.png

  15. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Klar, eine serverseitige Überprüfung ist häufig nämlich nicht möglich. Zum Beispiel, bei dem Script, welches hier auf dieser Webseite zur Erkennung alter Browser-Versionen eingesetzt wird, da es jeder einfach per JavaScript in seine Webseite einbinden kann. 😉

    Bezüglich des Screenshots: Jupp, habs schon überprüft gehabt. Da gibt es noch Optimierungsbedarf diese Tage. 😉

Und jetzt du! Deine Meinung?

Erforderliche Felder sind mit einem Asterisk (*) gekennzeichnet. Die E-Mail-Adresse wird nicht veröffentlicht.
  1. Nach Absenden des Kommentar-Formulars erfolgt eine Verarbeitung der von Ihnen eingegebenen personenbezogenen Daten durch den datenschutzrechtlich Verantwortlichen zum Zweck der Bearbeitung Ihrer Anfrage auf Grundlage Ihrer durch das Absenden des Formulars erteilten Einwilligung.
    Weitere Informationen