Cómo determinar el navegador del usuario con PHP?
Pregunta
Cómo determinar el navegador del usuario con PHP?
Así que si el navegador del usuario es entonces el IE de alerta $ variable = "onbeforeunload" y si no es IE, por ejemplo Firefox (más) entonces $ alerta = "proceso de carga.
Ayuda es muy apreciada.
Gracias
Tenga en cuenta también que no puedo instalar browscap.ini en mi servidor PHP.
Solución
A ver si este código funciona para usted
<?php
function detect_ie(){
return (sizeof(explode("MSIE",$_SERVER['HTTP_USER_AGENT'])) > 1);
}
if (detect_ie())
$event = "onbeforeunload";
else
$event = "onload";
?>
Otros consejos
No se puede. No con 100% de precisión. El mejor método para comprobar que es el agente de usuario, sin embargo, el usuario es libre de no la suministra, o fingir lo que debería evitar confiar en ella.
$ua = $_SERVER['HTTP_USER_AGENT'];
Si el navegador es decir, debe (roughtly) partido (donde # es un número)
Mozilla/#.0 (compatible; MSIE #.##;
Para los que la expresión regular sería algo así como
'~^Mozilla/[0-9]\.0 (compatible;\s+MSIE~i'
Alternativamente, usted podría simplemente comprobar si la cadena "MSIE", que sería más sencillo y un poco menos estricto.
Pero, como dijo @Michal, hay otros (mejor) implmentations en la get_browser página del manual
uso $_SERVER['HTTP_USER_AGENT']
Comprobar si contiene "IE", seguido directamente por un número.
Yo prefiero hacer esto en Javascript en sí, aunque.
if (typeof window.onbeforeunload !== "undefined") window.onbeforeunload = myFunc;
else window.onunload = myFunc;
librerías Javascript son mucho mejores para detectar y manejar diferente comportamiento del navegador. Simplemente deja una biblioteca madura como jQuery manejar esto y se le multa.