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]

Last modified: 30 Enero 2010

Author

Comments

Como le saca el jugo a su iPhone el hombre… xD

Write a Reply or Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.