¿UIWebView enviar el mismo Agente de Usuario en los Encabezados de Solicitud como mobile Safari?

Lo siento, acabo de probar a mí mismo, pero actualmente estoy sin mi mac. Hace una solicitud web dentro de un UIWebView enviar el mismo usuario-agente de información que una web hecha la petición de mobile Safari sería?

InformationsquelleAutor dl. | 2010-01-27

2 Kommentare

  1. 34

    Web de solicitudes hechas desde UIWebView no incluir la palabra «Safari» en la cadena de Agente de Usuario. Web de las peticiones hechas desde el Móvil de Safari voluntad. Esta es la mejor manera que he encontrado para la determinación de una solicitud proviene de dentro de una aplicación o de Mobile Safari.

    Ejemplo de Agente de Usuario de UIWebView dentro de la Aplicación:

    User-Agent: Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile

    Ejemplo de Agente de Usuario de Mobile Safari:

    User-Agent: Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari
    • De Android webview envía el encabezado http «X-Pidió-Con». El independiente del navegador no. Hace del iPhone UIWebView hacer esto así? consulte stackoverflow.com/a/15254092/90236
    • Por desgracia, esta respuesta produce un error con Chrome iOs. Estos son los UAs para Safari y Chrome. Ambos contienen «Safari» — Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) CriOS/35.0.1916.38 Mobile/11D201 Safari/9537.53
    • No entiendo tu comentario. La pregunta no tenía nada que ver con diferenciar los distintos navegadores móviles de cada uno de los otros. Sólo a partir de la distinción de una incrustado UIWebView de la incorporada en el navegador.
    • Chrome/iOS no es un navegador web diferente, es un UIWebView contenedor. Desde Chrome UIWebView contiene «Safari» como Safari sí no, usted no puede decir que es (un UIWebView) aparte de Safari por la comprobación de que la palabra (como la respuesta sugiere hacer)
  2. 13

    Independiente mobile Safari cadenas de agente de usuario contienen la palabra «Versión», mientras que uiWebView cadenas de agente de usuario no. Así, la secuencia de comandos de detección puede ser modificado para que funcione con la última versión de iOS, así:

    var is_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Version)/i.test(navigator.userAgent);
    • Gracias por escribir una expresión regular para esto!
    • var is_uiwebview = /((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent); también detecta android webviews

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea