Publicado en ASP.NET, Internet Explorer, Javascript

Detección de vista de compatibilidad en IE y otros Exploradores ASP.NET


Hola comunidad,

En esta ocasión  quiero compartir con ustedes la forma en cómo mediante JavaScript podemos detectar la vista de compatibilidad en IE y si nuestra aplicación está corriendo en Google Chrome o FireFox, Por qué? muchas veces es necesario que los estilos o archivos .css o webparts sean compatibles y no presenten bug’s que hagan deficiente la experiencia de usuario, por lo tanto se hace preciso controlar de alguna forma y que se pueda saber bajo que entorno se está corriendo, con el siguiente script podemos solventar esto.


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebFormDetectedCompatibility.aspx.cs" Inherits="DetectedBrowserCompatibility.WebFormDetectedCompatibility" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript" language="javascript">
        //Permite detectar otros exploradores y  cuando IE corre con Vista de Compatibilidad
        function ComprobarBrowser() {
            if (document.documentMode) {
                if (document.documentMode <= 7) {
                    alert("Hola estas en Internet Explorer con vista de compatibilidad");
                    return;
                }
                alert("Hola esta es una versión de Internet Explorer sin vista de compatibilidad");

            } else {
                alert("Esto no es Internet Explorer.");
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="BtBrowser" runat="server" OnClientClick="return ComprobarBrowser();" Text="¿Qué Browser?" />
    </div>
    </form>
</body>
</html>

Al correr nuestra aplicación veremos los alert de javascript según los codificamos para cada explorador, de la siguiente forma.

1 – IE sin vista de compatibilidad.

2 – IE con vista de compatibilidad.

3 – Otro explorador

Eso es todo, saludos!

Autor:

Soy desarrollador de software .NET con experiencia en ASP.NET, ASP.NET MVC, Silverlight, WCF RIA, WPF, C#, SQL Server.

9 comentarios sobre “Detección de vista de compatibilidad en IE y otros Exploradores ASP.NET

  1. Hay un problema que he detectado probando el script en varios navegadores. Si es IE7 documentMode no existe como propiedad y por tanto no lo detecta como IE. Si es IE9 con vista compatibilidad, la versión detectada es 7, pero la propiedad documentMode no varía cambiando la vista compatibilidad.
    Un saludo.

  2. Rápido y sencillo; mucho más fácil que programar para direfentes navegadores. He podido avisar al usuario de que tiene la Vista de compatibilidad habilitada y cómo desactivarla.

    Muchas gracias por el aporte.

  3. lo he probado en IE8 pero no varia el valor de la propiedas «documentMode», el valor que me muestra siempre es «5», pueden ayudarme por fabor

Replica a Salvaje Cancelar la respuesta