Wie führt Twitter eine Umleitung durch, wenn Javascript deaktiviert ist?

431
EpicOrange

Ich habe das Verständnis, dass das Deaktivieren von JavaScript auf einer Website die Ausführung von Skripts verhindert - Ich werde den Inhalt der Website roh und unbewertet erhalten.

Wenn ich jedoch JavaScript (in Chrome) deaktiviert habe twitter.com, werde ich weitergeleitetmobile.twitter.com . Ich kann den Browser beim Laden debuggeroder dergleichen nicht anhalten, da JavaScript deaktiviert ist. Und die Weiterleitung geschieht sowieso zu schnell. (Dies ist doppelt ärgerlich, da ich twitter.comJavaScript nicht deaktivieren kann!)

Wie geht es Twitter?

  1. Feststellen, dass ich JavaScript deaktiviert habe und
  2. eine Umleitung ohne JavaScript durchführen?

Und wie kann ich das verhindern?

Bearbeiten: Twitter hat jetzt einen Bestätigungsbildschirm vor der Umleitung, aber in der Vergangenheit wurde automatisch eine Umleitung ohne Aufforderung durchgeführt. Ich würde gerne wissen, wie sie das gemacht haben.

1

1 Antwort auf die Frage

1
Mokubai

Nicht alle Weiterleitungen basieren auf JavaScript oder erfordern eine aktive Beteiligung Ihres Browsers.

Dies kann beispielsweise über eine " Meta-Refresh " -Seite erfolgen, die so eingestellt ist, dass sie sofort auf einer anderen Seite aktualisiert wird, in Ihrem Fall der mobilen Site.

Wie kann Twitter Ihnen diese Seite geben? Weil Ihr Webbrowser es gesagt hat. Bei jeder Anforderung eines Dokuments sendet Ihr Browser eine Useragent- Zeichenfolge, die der Website mitteilt, welche Browser-, Betriebssystem- und Versionsdetails angegeben werden.

Die Useragent-Zeichenfolge soll es einem Webserver ermöglichen, eine Version einer Webseite zu erkennen und zu senden, die vom anfordernden Gerät ausdrücklich unterstützt wird. In der Vergangenheit wurde dies getan, um Websites zu erstellen, die auf die etwas sporadische Unterstützung der Funktionalität von Browsern zugeschnitten waren.

Das bedeutet jedoch, dass sie mobile Benutzer leicht erkennen und auf eine benutzerfreundlichere Benutzeroberfläche umleiten können.

Um dies zu umgehen, können die meisten Browser auf "Desktop-Site anfordern" eingestellt werden. Dadurch wird die Useragent-Zeichenfolge so geändert, dass das Gerät ein Desktop-Browser ist.