Frage Wie funktioniert die Option "Desktop-Site anfordern" von Chrome?


Wenn Google google chrome auf die Schaltfläche "Desktop-Site anfordern" klickt, versucht der Browser, eine Desktop-Site aufzurufen. Ich stelle mir eine Art Header für die Anfrage vor, nach der Seiten suchen, oder ähnliches?


76
2017-07-28 15:47


Ursprung


Antworten:


Ich denke der einzige Unterschied ist der User-Agent: Kopfzeile in der Anfrage.

Hier sind die User-Agent-Header, die von Chrome auf meinem Android-Gerät gesendet wurden:

Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19

Beachten Sie das Wort "Mobile" in der ersten, und auch die Erwähnung von Android-System und Gerät. Überprüfen diese, sehe ich, dass es auch falsche Informationen - nämlich X11 und x86_64 - um genau den Wert von der Desktop Linux-Version von Chrom.


53
2017-07-28 16:19



Ein weiterer kleiner Unterschied besteht darin, dass die Anfrage anscheinend bei der letzten absichtlich eingegebenen URL angekommen war, bevor sie von einem anderen Direktor verschoben wurde. Beispielsweise:

Gegeben: somesite.com schnüffelt den Agenten, sieht Android und macht einen document.location + = "/ m";

Dann: Der Browser wird eine URL von somesite.com/m haben

Aber: Wenn Sie "Desktop-Site anfordern" auswählen, wird der Benutzer-Agent geändert und erneut von somesite.com angefordert

Es sei denn: Sie waren direkt an der mobilen URL von somesite.com/m beteiligt, in diesem Fall lädt sie einfach somesite.com/m neu.

Ich würde erwarten, dass dies mit HTTP 301 und 302 Redirects funktioniert, ich weiß, dass es mit Änderungen von document.location funktioniert (zumindest wie beschrieben), und würde spekulieren, dass es mit <meta> Refreshes funktioniert.


12
2018-01-31 23:59



Ich wollte nur darauf hinweisen, dass Chrome jetzt nicht nur das ändert User-Agent ignoriert jedoch auch das ursprüngliche Viewport-Meta-Tag, wenn Sie "Desktop-Site anfordern" auswählen. So wird es nicht nötig sein, das zu schnüffeln User-Agent Sie können sich auf die Änderung des Ansichtsfensters verlassen, da die meisten Responsive-Websites dies automatisch tun. Sehen dieser Wandel für weitere Referenz.


10
2017-08-15 10:14



Dieses JavaScript-Snippet wird effektiv dasselbe tun:

function requestDesktopSite() {
    document.getElementsByTagName('meta')['viewport'].content='min-width: 980px;';
}
<button onclick="requestDesktopSite()">Request Desktop Site</button>


-3
2017-09-06 15:38