User Agent Switcher funktioniert seit Firefox 17 nicht mehr – Lösung
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.
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).
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.
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.
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.
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!
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?
@ 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. 😉
Update 27.01.2013: Diesen Artikel kann man sich ab sofort auch vorlesen lassen.
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.
Kommt noch, ich warte damit aber erst noch auf die Freischaltung in iTunes. 😉
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.
Bei mir funktioniert der „User Agent Switcher“ einwandfrei. Firefox 18.0.1 auf Windows XP.
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.
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
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. 😉