Estoy trabajando un poco en sitios que “pueden ser visitados desde el iPhone” [así lo solicitó el cliente], el tema es que existen algunas funciones javascript para detectar que si usas jQuery te “bloquea” los efectos.
La solución es muy sencilla, aplicar el script en PHP como a continuación:
PHP<5.3.0
[sourcecode=”php”]
if (ereg(‘iPhone’,$_SERVER[‘HTTP_USER_AGENT’]))
{
header(“Location:/iphone.html”);
}
[/sourcecode]
PHP>=5.3.0
[sourcecode=”php”]
if (preg_match(“/iPhone/”,$_SERVER[‘HTTP_USER_AGENT’]))
{
header(“Location:iPhone.php”);
}
[/sourcecode]
OJO: Es IMPORTANTE que si tiene PHP mayor o igual a 5.3.0 usen preg_match en lugar de ereg, por que ereg está OBSOLETO en PHP 5.3.0 y será eliminado en PHP 6.0.0
La función es muy sencilla ya que detecta si en la cadena del Agente del usuario [HTTP_USER_AGENT] incluye la palabra iPhone. Evidentemente esto es fácilmente manipulable por ejemplo en Firefox cambiando el User Agent en about:config colocando:
Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; es-es) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16
Deben reiniciar firefox una vez realicen esto
[Con el userAgent cambiado hasta mi blog lo cargó en modo iPhone]
[recuerda colocar de vuelta la configuración después de jugar (Firefox/x.x.x) [x.x.x = tu versión…] 😛 ]
Para que vean el ejemplo pueden navegar al ejemplo acá [agréguenle una x al .php para que vean el código fuente]..
y acá la captura desde el iPhone:
Saludos, y espeor haya sido de su utilidad este tip [Pronto espero presentarlo en ASP.net]
Una respuesta a “Tip: Cómo detectar con PHP si te visita un iPhone”
Como le saca el jugo a su iPhone el hombre… xD