Lo siento, solo probaría esto yo mismo, pero actualmente no tengo mi mac. ¿Una solicitud web realizada dentro de un UIWebView envía la misma información de agente de usuario que una solicitud web hecha desde un dispositivo móvil Safari?¿Envía UIWebView el mismo agente de usuario en los encabezados de solicitud que Safari móvil?
28
A
Respuesta
31
Las solicitudes web realizadas desde UIWebView no incluirán la palabra "Safari" en la cadena del agente de usuario. Las solicitudes web hechas desde Mobile Safari lo harán. Esta es la mejor manera que he encontrado para determinar si una solicitud proviene de una aplicación o de Mobile Safari.
Muestra Agente de Usuario de UIWebView dentro App:
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
Muestra 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
11
cadenas de agente de usuario de Safari móviles independientes contiene la palabra 'Version', mientras que el agente de usuario UIWebView las cadenas no. Por lo tanto, la secuencia de comandos de detección puede ser modificado para trabajar con la última versión de iOS, así:
var is_uiwebview = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Version)/i.test(navigator.userAgent);
Cuestiones relacionadas
- 1. ¿Agente de usuario móvil Android?
- 2. agente de usuario de expresiones regulares móvil
- 3. Depurador Safari 6: vea los encabezados de solicitud/respuesta grabados
- 4. JQuery Ajax Solicitud: cambio de usuario-agente
- 5. Establecer encabezado de solicitud y agente de usuario en Geb
- 6. Ocultar el teclado de Safari móvil cuando se envía el formulario en la aplicación Ajax
- 7. Agente de usuario de Chrome para iOS en el iPad
- 8. Detección automática de navegador móvil (¿mediante agente de usuario?)
- 9. Agente de usuario WebView
- 10. jQuery.ajax no envía los encabezados ajax apropiados al usar HTTPS
- 11. Agente de usuario genérico para Android (UA)
- 12. UIWebView y Safari comparación
- 13. ¿Se pueden modificar los encabezados de solicitud http en una extensión de Safari?
- 14. Artefactos de línea en Safari móvil
- 15. Agente de usuario de iPhone
- 16. El agente de usuario CURL
- 17. Doble toque en safari móvil
- 18. springframework obtener todos los encabezados de solicitud
- 19. Agente de usuario extraño con Google Chrome
- 20. Seleccionar texto en el dispositivo móvil Safari en el iPhone
- 21. UIWebView enlaces de apertura en Safari
- 22. Ayúdenme a entender el tamaño del texto de Safari móvil
- 23. Safari móvil: manifiesto de audio + caché
- 24. ¿Los encabezados de solicitud REST están encriptados por SSL?
- 25. Imitando al agente de usuario de iPhone en Chrome?
- 26. Agente de usuario de Safari: ¿en qué versión de WebKit confiar?
- 27. Perfil móvil Safari (iPad) javascript?
- 28. ¿Cómo puedo analizar las cadenas de usuario-agente en Perl?
- 29. Solicitud abierta en Safari con cabeceras HTTP personalizadas
- 30. Detener iframe redirigir/abrir safari móvil en proyecto de teléfono
vista web de Android envía la cabecera HTTP "X-solicitada-Con". El navegador independiente no. ¿UIWebView de iPhone hace esto también? ver http://stackoverflow.com/a/15254092/90236 –
Lamentablemente, esta respuesta falla con Chrome iOs. Estos son los UA para Safari y Chrome. Ambos contienen "Safari" --- 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 como Mac OS X) AppleWebKit/537.51.2 (KHTML, como Gecko) Versión/7.0 Mobile/11D201 Safari/9537.53' --- 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 como Mac OS X) AppleWebKit/537.51.1 (KHTML, como Gecko) CriOS/35.0.1916.38 Móvil/11D201 Safari/9537.53' –
@ bfred.it Yo no entiende tu comentario La pregunta no tenía nada que ver con la distinción de diferentes navegadores móviles entre sí. Solo para distinguir un UIWebView incrustado del navegador integrado. – Johann