Pregunta

Mobile Safari es un navegador muy capaz y puede manejar mi sitio web perfectamente. Sin embargo, hay algunos elementos en mi página que podrían optimizarse para navegar usando este dispositivo; como servir miniaturas específicas que son más pequeñas que las contrapartes de escritorio para ayudar a ajustar más contenido en la pantalla.

Me gustaría saber cómo puedo detectar Mobile Safari (todas las versiones, preferiblemente) usando PHP, para poder servir a) un archivo css específico yb) miniaturas de imágenes de diferentes tamaños.

¿Fue útil?

Solución

Compare la cadena de agente de usuario con la que utiliza Safari Mobile:

Cadena de agente de usuario de Safari Mobile

Otros consejos

Gracias Joe, leí esa página y encontré la biblioteca de detección de WebKit (en JavaScript). Cambié el código para satisfacer mis necesidades.

Para cualquiera que esté interesado, esta es mi solución.

<?php

/* detect Mobile Safari */

$browserAsString = 

Gracias Joe, leí esa página y encontré la biblioteca de detección de WebKit (en JavaScript). Cambié el código para satisfacer mis necesidades.

Para cualquiera que esté interesado, esta es mi solución.

<*>SERVER['HTTP_USER_AGENT']; if (strstr($browserAsString, " AppleWebKit/") && strstr($browserAsString, " Mobile/")) { $browserIsMobileSafari = true; } ?>
<*>

Eso le devolverá la cadena de agente de usuario que puede comparar con el safari móvil.

p.s. http://wurfl.sourceforge.net/ WURFL puede ayudarlo a determinar qué UAs desea.

SERVER['HTTP_USER_AGENT']

Eso le devolverá la cadena de agente de usuario que puede comparar con el safari móvil.

p.s. http://wurfl.sourceforge.net/ WURFL puede ayudarlo a determinar qué UAs desea.

He publicado un nuevo modo para detectar dispositivos en cualquier lenguaje de programación (JSP, PHP, Perl, Python .....), se llama Apache Mobile Filter es un módulo Apache ( http://modules.apache.org/search.php?id=1787 ) que detectan dispositivos móviles y también pueden adaptar las imágenes al tamaño de la pantalla del dispositivo.

Para más información: http://www.idelfuschini.it /it/apache-mobile-filter-v2x.html

Mozilla / 5.0 (webOS / 1.0; U; es-EE. UU.) AppleWebKit / 525.27.1 (KHTML, como Gecko) Versión / 1.0 Safari / 525.27.1 Pre / 1.0 que es el navegador para el Palm Pre, y el la palabra 'Móvil' no está allí.

Estoy trabajando para que mi detección funcione por completo con todos los navegadores más nuevos. Después de mirar mytouch, G1, Palm Pre, droide y otros, (pero no todos) ahora estoy seguro de que esto es viable para todos los teléfonos nuevos:

if (preg_match (" / applewebkit / i " ;, $ _SERVER ['HTTP_USER_AGENT']) & amp; & amp; & preg_match (" / (mobile | pre) / i " ;, $ _SERVER ['HTTP_USER_AGENT']))     encabezado (" Ubicación: http://simplefoodie.com/iphone/?carryover= " ; .urlencode ($ _ SERVER [REQUEST_URI]));

<?php

// detect Safari only!

$string = <*>SERVER['HTTP_USER_AGENT'];

if (strstr($string, " AppleWebKit/") && strstr($string, " Safari/") && !strstr($string, " CriOS"))
    {
        echo 'See in Safari only';
    }

?>   
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top