2012-07-28 30 views

Respuesta

49

Creo que la única diferencia es el encabezado User-Agent: en la solicitud.

Éstos son los encabezados User-Agent enviados por Chrome en mi 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 

Aviso la palabra "móvil' en la primera, y también la mención de sistema y dispositivo Android Comprobación de éstos, Veo que también proporciona información falsa, a saber, X11 y x86_64, para que coincida estrechamente con el valor enviado por la versión de escritorio de Linux de Chrome.

+11

Una cabecera por separado sería brillante. El agente de usuario olfateando es tan horrible. –

+9

Estoy de acuerdo. A veces, la detección y redirección automática implementada por algunos sitios es extremadamente contraproducente y agravante. – dsh

+2

Una mejor solución sería detectar el tamaño, las interfaces y las capacidades del dispositivo. Las consultas de medios de CSS son un paso en la dirección correcta. – Brad

12

Otra pequeña diferencia es que la solicitud parece haber estado en la última URL ingresada intencionalmente antes de que los directores lo movieran. Por ejemplo:

Dado: somesite.com huele el agente, ve Android, y hace un document.location + = "/ m";

continuación: el navegador tendrá una URL de somesite.com/m

Pero: si "sitio de Solicitud de escritorio" que va a cambiar el User-Agent y re-petición de somesite.com

A menos que: haya entrado directamente en la URL móvil de somesite.com/m en primer lugar, en cuyo caso simplemente vuelve a cargar somesite.com/m.

Supongo que esto funciona con las redirecciones HTTP 301 y 302, sé que funciona con los cambios en la ubicación del documento (al menos como se describe), y especularía que funciona con <meta> actualiza.

+0

¿Basó su respuesta en [esto] (https://productforums.google.com/forum/#!topic/chrome/tz24aCo6F3I)? – Keale

7

Solo quería señalar que Chrome ahora no solo cambia el User-Agent sino que también ignora la metaetiqueta de la ventana gráfica original si "Solicitar sitio de escritorio". Por lo tanto, ya no será necesario olfatear el User-Agent y podrá confiar en el cambio de la vista, ya que la mayoría de los sitios receptivos lo harán automáticamente. Ver this Change para más referencia.

+0

Gracias por eso. mi propio sitio web muy simple se comporta muy diferente cuando no se hace clic y no pude entender por qué, ya que no hago más que consultas de medios en CSS. –

-2

Este fragmento de código JavaScript se haga efectiva la misma:

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

Cuestiones relacionadas