Draufgeklickt
Seit heute kann ich bei Google keine Suchergebnisse mehr anklicken. Das heißt, anklicken kann ich sie schon, nur es passiert nichts.
Wenn ich den Ergebnislink mit der rechten Maustaste in einem neuen Tab öffne, sehe ich nur eine leere, weiße Seite.
Ganz leer ist die Seite aber nicht wirklich, sie enthält einen ca. 2500 Zeichen langen JavaScript-Code (siehe Screenshot).
Weitergeleitet
Das eigentliche Problem liegt beim Google-URL-Redirector, der beim Klick auf das Ergebnis nicht direkt zur Zielseite führt, sondern über eine Weiterleitungsseite die Zielseite aufruft.
Diese Weiterleitungsseite leitet per JavaScript weiter und dabei gibt es einen Fehler, den mir die im FireFox eingebaute Webconsole anzeigte:
uncaught exception: [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: ... Line: 1"]
Unerlaubt
Aber warum, was verursacht den Fehler? Nach meinen Recherchen dürfte es am versuchten Zugriff auf den localStorage liegen. Der localStorage ist eine neue Erfindung von HTML 5 und sowas ähnliches wie Cookies, nur besser. Die Beschreibung des localStorage bei w3.org nennt auch Fälle, in denen der Browser einen SecurityError ausgeben kann oder soll.
Damit ist die Ursache für mich auch klar, ich erlaube google.de nicht, Cookies zu speichern. Offensichtlich gilt diese Regel dann auch für den neuen HTML5-localStorage. Warum nun Google unbedingt bei der Weiterleitung etwas in diesem lokalen Speicher ablegen will, weiß ich nicht. Es ging ja bisher auch ohne.
Ausgesperrt
Meine Lösung des Problems: Ich sperre die URL des für den ganzen Weiterleitungs-Kram verantwortlichen JavaScripts im Router. Damit werden die URLs der Suchergebnisse wieder direkt aufgerufen und die Weiterleitungsseite kommt gar nicht erst zum Zuge.
Das hat mich ohnehin schon länger gestört, das ich nicht einfach eine URL von der Suchergebnisseite per Rechtsklick in die Zwischenablage kopieren kann. Nun geht auch das wieder. :-)
Man kann aber auch einfach die Cookies für Google erlauben, dann klappts auch wieder mit der Weiterleitung. Oder JavaScript deaktivieren, das hilft auch. :-)