javascript - example - prompt() con Internet Explorer 8
javascript yes no dialog (4)
IE tiene una configuración en Opciones de Internet para permitir o denegar prompt()
.
Configuración rápida de IE http://adamhaskell.net/img/ie-prompt.png
Por defecto en IE8, esta configuración está desactivada. En consecuencia, las llamadas a prompt()
se ignoran y ""
es devuelto por ellos.
No debe usar prompt()
todos modos. Usa un formulario.
Estoy teniendo dificultades para encontrar una solución para mi problema. Aquí hay un fragmento de código:
var ans = prompt("Mot de passe", '''');
if (ans != '''' && ans != null)
__doPostBack(''__Page'', ans);
else
window.location = "../Erreurs/NotAuthorized.aspx";
Este código funciona realmente bien con Internet Explorer 9. Pero mi cliente está trabajando exclusivamente con Internet Explorer 8, así que lo probé con ieTester en IE8. Pero el problema es que el mensaje no se muestra y se redirige automáticamente porque la entrada tenía una cadena vacía ('''').
Entonces, ¿cómo puedo solucionar esto para trabajar con Internet Explorer 8?
Parece algo de seguridad específico para IE-8, no tengo otras versiones para probar. Calling prompt()
produce una advertencia sobre una ventana con script que solicita información. Puedo hacer clic para permitir y luego de actualizar la página, el cuadro de diálogo aparece como se esperaba.
Si va a insistir en utilizar prompt()
, probablemente deba estipular que las configuraciones de seguridad en los equipos de destino están configuradas para permitirlo.
Según este informe, parece que se trata de un error conocido en IETester.
http://www.my-debugbar.com/forum/t294-Javascript-Alerts.html
El sitio web para desarrolladores de Microsoft nos dice que "prompt ()" está obsoleto y ahora normalmente está bloqueado por razones de seguridad: "Por defecto, este método está bloqueado por la barra de información en la zona de Internet. Esto evita que los sitios maliciosos inicien ataques spoofing".