Risposte:
Penso che l'unica differenza sia l' User-Agent:
intestazione nella richiesta.
Ecco le intestazioni User-Agent inviate da Chrome sul mio dispositivo Android:
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
Notare la parola "Mobile" nel primo e anche la menzione del sistema e del dispositivo Android. Controllando questi, vedo che fornisce anche informazioni false - vale a dire X11 e x86_64 - per corrispondere strettamente al valore inviato dalla versione Desktop Linux di Cromo.
Volevo solo far notare che Chrome ora non solo cambia il, User-Agent
ma ignora anche il meta tag viewport originale se "Richiedi sito desktop". Quindi non sarà più necessario annusare User-Agent
e puoi fare affidamento sul cambio di viewport come farà automaticamente la maggior parte dei siti reattivi. Vedere questa modifica per ulteriori riferimenti.
Un'altra piccola differenza è che la richiesta sembra essere stata inviata all'ultimo URL inserito intenzionalmente prima che qualsiasi re-director lo spostasse. Per esempio:
Dato: somesite.com annusa l'agente, vede Android e fa un document.location + = "/ m";
Quindi: il browser avrà un URL di somesite.com/m
Ma: se "Richiedi sito desktop" cambierà lo User-Agent e richiederà nuovamente da somesite.com
A meno che: tu non fossi entrato direttamente nell'URL mobile di somesite.com/m in primo luogo, nel qual caso si ricarica semplicemente somesite.com/m.
Mi aspetto che funzioni con i reindirizzamenti HTTP 301 e 302, so che funziona con le modifiche a document.location (almeno come descritto) e ipotizzo che funzioni con gli aggiornamenti <meta>.
Questo snippet di javascript farà effettivamente lo stesso:
function requestDesktopSite() {
document.getElementsByTagName('meta')['viewport'].content='min-width: 980px;';
}
<button onclick="requestDesktopSite()">Request Desktop Site</button>