¿Cómo detecto el lado del servidor Mobile Safari usando PHP?
-
06-07-2019 - |
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.
Solución
Compare la cadena de agente de usuario con la que utiliza 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';
}
?>