Jemand meldet, dass eine Seite kaputt ist. Sie bitten die Person, sie in einem Inkognitofenster zu öffnen. Dort funktioniert sie. Das Gespräch endet an dieser Stelle meistens mit dem Hinweis, den Cache zu leeren, und genau damit wird die Information weggeworfen.

Inkognito ist kein sauberer Browser. Es ist Ihr Browser mit einer bestimmten, recht kurzen Liste abgeschalteter Dinge, und diese Liste ist der ganze Wert des Tests. Wer sie kennt, macht aus einem Satz der meldenden Person eine Eingrenzung, die in wenigen Minuten abgeschlossen ist.

Was ein Inkognitofenster tatsächlich verändert

Fünf Unterschiede, und die meisten Leute können davon nur zwei benennen.

Erweiterungen laufen nicht. Das ist der große Punkt und der, den alle vergessen. Chromes Dokumentation für Erweiterungen beschreibt den zuständigen Manifest-Schlüssel als Angabe, wie sich eine Erweiterung verhält, “if allowed to run in incognito mode”: die Berechtigung ist aus, bis jemand sie einschaltet, einzeln pro Erweiterung, unter Details und dann “Im Inkognitomodus zulassen”. Ein Inkognitofenster ist also in aller Regel auch ein Fenster ohne Erweiterungen, und diese Vermischung macht den Test mehrdeutig.

Keine Cookies aus Ihrer normalen Sitzung. Das Fenster startet ohne und wirft weg, was es sammelt. In Chromes eigenen Worten behält es “temporarily keeps some information, like cookies and site data, to help websites work and support navigation”, und “this information is removed when the Incognito session ends”.

Drittanbieter-Cookies sind blockiert. Unabhängig vom vorigen Punkt und standardmäßig: “In Incognito mode, third-party cookies are blocked by default.” Dieser Punkt verändert das Ergebnis in die entgegengesetzte Richtung zu den anderen, worauf es weiter unten ankommt.

Kein Cache und keine gespeicherten Websitedaten zur Wiederverwendung. Nichts, was Ihr normales Profil letzte Woche geladen hat, liegt dort bereit, um erneut ausgeliefert zu werden, auch nichts, von dem der Browser entschieden hat, dass er es behalten darf.

Die von Ihnen registrierten Service Worker sind nicht da. Ein Service Worker gehört zum Speicher eines Profils. Die Inkognito-Sitzung hat ihren eigenen, und der ist leer, also fehlt schlicht, was im normalen Fenster die Anfragen abfängt.

In welche Richtung der Test ausgeht, ist entscheidend

Dasselbe Experiment hat zwei Ausgänge, und sie bedeuten Verschiedenes. Fast alle denken nur über den ersten nach.

Funktioniert im Inkognitomodus, kaputt im normalen Fenster
Etwas im Profil der Person ist beteiligt: eine Erweiterung, eine veraltete Datei aus dem Cache, ein Service Worker, der den Code der letzten Woche ausliefert, oder ein Cookie mit einem Zustand, den Ihre Anwendung liest.
Kaputt im Inkognitomodus, funktioniert im normalen Fenster
Etwas fehlt, auf das Ihre Seite angewiesen ist: ein Drittanbieter-Cookie, eine angemeldete Sitzung, oder Daten, von denen Sie annahmen, dass sie im Speicher liegen, weil das auf Ihrem Rechner immer so war.

Der zweite Fall wird gern als “Inkognito ist halt komisch” abgetan. Er ist nicht komisch. Er ist für die meisten Menschen die einzige günstige Möglichkeit, nachzustellen, was eine Person beim ersten Besuch erlebt, und wenn Ihre Seite dort kaputtgeht, geht sie für alle kaputt, die noch nie da waren.

Die fünf Verdächtigen trennen, ohne zu raten

Die Schwäche des Inkognito-Tests ist, dass er fünf Dinge gleichzeitig verändert. Ein Erfolg sagt Ihnen also, dass eines von fünf verantwortlich ist, aber nicht welches. Diese Schritte trennen sie, der günstigste zuerst.

  • Ein frisches Browserprofil mit aktivierten Erweiterungen. Das ist der Test, der Inkognito hätte sein sollen: neue Cookies, neuer Cache, neuer Speicher, aber Ihre Erweiterungen laufen weiter. Tritt das Problem hier wieder auf, liegt es nicht an einer Erweiterung, und Sie haben die häufigste Ursache in etwa dreißig Sekunden ausgeschlossen.
  • Ein harter Reload bei geöffnetem Netzwerkpanel und gesetztem Haken bei “Disable cache”. Trennt veraltete Dateien von allem anderen. Behebt das die Sache, haben Sie ein Caching-Problem, und der Browser der Person verhält sich genau so, wie ihm gesagt wurde.
  • Websitedaten für diese Origin löschen. Im Application-Panel entfernt das Cookies, Local Storage und die Service-Worker-Registrierung in einem Schritt. Verschwindet das Problem, lag die Ursache im Zustand und nicht im Code, und die nächste Frage ist, in welchem Teil davon.
  • Den Service Worker einzeln abmelden. Lohnt sich getrennt vom vorigen Punkt, denn wenn das die Lösung ist, lief bei der Person Code, den Sie längst nicht mehr ausliefern, und kein Deploy der Welt erreicht sie, bis sich der Worker aktualisiert.

In dieser Reihenfolge durchgeführt ergibt sich eine Ursache statt einer Korrelation. Inkognito allein ergibt einen Satz, bei dem alle nicken.

Was “funktioniert im Inkognitomodus” nicht bedeutet

Es bedeutet nicht, dass das Problem auf dem Rechner der Person liegt, und es bedeutet nicht, dass es nicht Ihr Fehler ist.

Ein Service Worker, der ein veraltetes Bundle ausliefert, ist Ihr Deployment. Ein Cookie, das Ihre Anwendung geschrieben und dann nicht lesen konnte, ist Ihr Code. Eine Erweiterung, die Ihre Seite zerlegt, ist zumindest Ihr Kompatibilitätsproblem, wenn viele Ihrer Nutzerinnen und Nutzer sie haben. Die einzige wirklich unsichere Lesart ist die, die am häufigsten gewählt wird: dass mit der Seite alles in Ordnung ist und mit dem Rechner der Person nicht.

Es lässt sich auch nicht in die andere Richtung übertragen. Wer nur im Inkognitomodus testet, testet für immer den Pfad des ersten Besuchs und wird den Fehler nie sehen, der ein eine Woche altes Cookie braucht, um aufzutreten.

Richtig danach fragen

Für die meldende Person ist das eine der wenigen Diagnosen, die nichts kostet und kein Fachwissen braucht: ein privates Fenster öffnen, dieselbe Seite aufrufen, und sagen, ob dort dasselbe passiert. Es ist die beste Frage auf der Liste und günstig genug, um sie zuerst zu stellen.

Was sie nicht liefern kann, ist das Warum. Der Konsolenfehler, die fehlgeschlagene Anfrage und die Version des Skripts, die tatsächlich lief, sind weiterhin die Dinge, die es entscheiden, und keines davon überlebt das Schließen des Fensters.

Session Replay

Kostenlose Chrome-Erweiterung. Ein Klick auf der Seite, die sich falsch verhält, erfasst den Screenshot, die Konsole und das Netzwerkprotokoll und liefert Ihnen einen Link, den Sie ins Ticket einfügen können.

Erweiterung holen

Ein Vorbehalt zum Einsatz irgendeiner Erweiterung dafür, auch unserer: ein Inkognitofenster führt sie nur aus, wenn sie dort zugelassen wurde, und das ist dieselbe Regel, die den Test überhaupt erst nützlich macht.

Die Kurzfassung

  • Inkognito schaltet fünf Dinge gleichzeitig ab: Erweiterungen, vorhandene Cookies, Drittanbieter-Cookies, Cache und Service Worker.
  • Die Richtung, in die der Test ausgeht, sagt Ihnen, welche Hälfte dieser Liste Sie ansehen müssen.
  • Ein frisches Profil mit aktivierten Erweiterungen ist der Folgeschritt, der die häufigste Ursache von den übrigen trennt.
  • “Funktioniert im Inkognitomodus” ist der Anfang der Diagnose. Es als deren Ende zu behandeln ist der Weg, auf dem ein veralteter Service Worker drei Deploys überlebt.