2009-08-16 8 views

Respuesta

11

Usted puede obtener algunos ejemplos que no requieren de script del lado del servidor de ie6nomore.com.

Ellos usan la función de los comentarios condicionales de IE, así:

<!--[if lt IE 7]> 
Your browser is outdated! 
<![endif]--> 

Pero los ejemplos en el sitio en realidad ofrecen enlaces a otros navegadores. Por supuesto, puede rodar su propia versión que se adapte mejor a su diseño.

Por supuesto, puede hacer este lado del servidor si lo prefiere, ya que está usando PHP de todos modos. Los otros ejemplos aquí usando $_SERVER["HTTP_USER_AGENT"] deberían comenzar. Usar get_browser puede ser exagerado, ya que requiere un archivo de datos bastante grande para funcionar.

Si sólo está interesado en la detección del lado del servidor versiones de edad IE, esto debería hacer:

preg_match('/; MSIE (\d+.\d+)/', $_SERVER['HTTP_USER_AGENT'], $matches); 

if (count($matches) > 1 && $matches[1] <= 6.0) 
{ 
    echo "Your browser is outdated"; 
} 
0

Puede consultar la variable $_SERVER['HTTP_USER_AGENT'] para IE.

if (eregi("MSIE", $_SERVER["HTTP_USER_AGENT"]) || 
    eregi("Internet Explorer", $_SERVER["HTTP_USER_AGENT"])) { 
    // IE 
} 
+0

Específicamente, debe buscar la cadena "MSIE 6.0" en esta variable. –

+0

Dijo IE6, no IE por completo. – Esko

1

utilizar IE comentarios condicionales en su página

<!--[if lt IE 7]> 
include a warning here (in an iframe, perhaps, to save extra bandwidth) 
<![endif]--> 
0

usted debería ser capaz de hacerlo fácilmente utilizando la función incorporada get_browser.

En caso de que desee ver cómo se ve la salida si es visitada por IE 6, puede tomar una cadena de agente de usuario de UserAgentString.com para probarla.

0

alternativa, también se puede comprobar con un JavaScript

/* 
* Check whether the current browser is IE6 
*/ 
function isBrowserIE6() { 
    if (Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7) { 
     return true; 
    } else { 
     return false; 
    } 
} 

(Lo anterior sería simplemente trabajar en un entorno ASP.net. Here's a blog post que maneja el navegador Internet Explorer comprobar la forma nativa).

A continuación, añade un elemento contenedor HTML en su página

<div id="ie6BrowserWarning" style="display:none"> 
    Your browser is outdated. Please download one of the alternative browsers! 
    <!-- Set of links to Firefox, Chrome, Safari, Opera,... --> 
</div> 

Y al cargar la página que haces

<html> 
<head> 
<script type="text/javascript"> 

    function doIE6WarningCheck() 
    { 
    var element = document.getElementById("ie6BrowserWarning"); 
    var isIE6 = isBrowserIE6(); 
    if(element != null && isIE6 == true) 
    { 
     element.style.display = "block"; 
    } 
    } 
</script> 
</head> 
<body onLoad="doIE6WarningCheck()"> 
    <div id="ie6BrowserWarning" style="display:none"> 
     Your browser is outdated. Please download one of the alternative browsers! 
     <!-- Set of links to Firefox, Chrome, Safari, Opera,... --> 
    </div> 
</body> 
</html> 

no comprobé que, así lo escribió fuera de mi cabeza en este momento . Tendría que hacer eso, pero creo que debería funcionar. Firebug es siempre una buena opción para la depuración de JavaScript.

+0

Eso no es JavaScript estándar. Solo funciona en un entorno ASP.NET. No es muy útil ya que él está usando PHP. Si desea hacer este lado del cliente, los comentarios condicionales son mucho más fáciles. – Thorarin

+0

Disculpa, tomé isBrowserIE6() de uno que escribí hace un par de semanas. No prestó atención que solo se ejecutará en ASP.net. Por supuesto, los comentarios condicionales son más fáciles, JavaScript simplemente habría sido una alternativa. (Actualicé la publicación para que apunte a una página que contiene la verificación nativa del navegador). – Juri

Cuestiones relacionadas