2010-06-22 12 views
6

¿Hay algún método para indicar desde javascript si el navegador tiene habilitada la "configuración de seguridad mejorada"?¿Es posible detectar la configuración de seguridad mejorada de Internet Explorer en javascript?

Sigo teniendo problemas con ciertos controles que no funcionan desde el contenido cargado dinámicamente. Esto solo ocurre con los navegadores que se ejecutan en sistemas Windows Server 2003/2008, incluso cuando agrego el servidor a la zona "de confianza".

Tal vez alguien ya ha desarrollado un método para llevar a cabo esta tarea?

Gracias de antemano

Respuesta

0

creo que se puede buscar en el SV1 user agent string.

+0

Desafortunadamente eso no soluciona el problema. Según Microsoft: http://msdn.microsoft.com/en-us/library/ms537503%28VS.85%29.aspx la cadena "SV1" solo la usa Internet Explorer 6. Una prueba rápida en algunas máquinas parecen confirmar esto. –

1

No creo que sea posible, y si aún lo es, entonces ese es un error que tarde o temprano podría solucionarse.

Uno de los puntos principales de esta "seguridad adicional" era que el cliente lo tuviera pero no fuera detectado por los servidores, lo que no les permitía saber cuándo intentar eludirlo y cuándo no.

+0

Creo que puede detectar fácilmente, al menos, los síntomas (scripts/activeX desactivado), al menos * después de * la primera solicitud. No creo que esto sea un error. –

1

¿No tiene javascript deshabilitado cuando usa una configuración de seguridad mejorada?

Luego, si solo desea mostrar un mensaje al usuario, simplemente muestre un mensaje en html normal y escóndalo con javascript para que solo los usuarios sin javascript lo vean. Si necesita manejarlo en el lado del servidor (por ejemplo, generar una versión diferente de su sitio web) simplemente incluya javascript para redirigir a los usuarios a su versión habilitada para javascript. Los usuarios sin javascript permanecerán en la página que no es js.

Si solamente ActiveX de secuencias de comandos están desactivados, se aplica el mismo método, sólo tiene que insertar un ActiveX y tratar de "guión" que, si no se puede redirigir, mostrar un mensaje, etc.

Lo anterior, por supuesto, doesn' t detectar la configuración de seguridad mejorada per se, pero los síntomas que se producen cuando está habilitado. Por lo tanto, probablemente no sea capaz de distinguir entre los usuarios que usan una configuración de seguridad mejorada y los usuarios que simplemente tienen JS/ActiveX deshabilitado o usan un navegador que no admite el uso de scripts en primer lugar.

1

En lugar de probar directamente el IE ESC, podemos probar sus efectos.

Encontré que con ESC habilitado, los eventos onclick del contenido agregado dinámicamente no se activarían. Así que estoy probando esos eventos directamente.

var IEESCEnabled = true; 
 
var testButton = $("<button style=\"display: none;\" onclick=\"IEESCEnabled = false; alert('No problems here.');\">Test IE ESC</button>"); 
 
testButton.click(); 
 
if (IEESCEnabled) { 
 
    alert("We have a problem."); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

En mi solicitud de una prueba como ésta reenvía al usuario a una página que explica su problema. Está acompañado por un elemento noscript para verificar que tengan JavaScript funcionando.

Cuestiones relacionadas