Pregunta

Tengo el siguiente código JavaScript para abrir una ventana en Internet Explorer. El código se ejecuta desde una página dentro de un cuadro de diálogo modal de Microsoft CRM. (RequestID es una cadena que siempre es la misma en el sistema de prueba, en este momento contiene " abcdefg " - sin las comillas).

var cancelUrl = "CancelRequest.aspx?RequestID=" + RequestID;
alert("About to open a window.\n\n" + cancelUrl);
window.open(cancelUrl);
alert("Window opened");

Espero ver un mensaje que me dice que estoy a punto de abrir una ventana. Entonces espero ver una ventana abierta y recibir otro mensaje sobre la ventana que se ha abierto. Realmente no me importa el orden de los últimos dos eventos; las alertas están ahí, así que sé que el código se ha ejecutado.

Tengo dos PC y una PC virtual. Todos ejecutan IE7. En la VPC de Windows 2003, los mensajes y las ventanas emergentes aparecen cada vez sin falta.

En la PC con Vista y con la PC WinXP, aparecen los mensajes pero la ventana emergente solo aparece de manera intermitente. (Creo que este también puede ser el caso en la PC con Vista).

Los tres tienen configuraciones idénticas en IE. Todos tienen el bloqueador de elementos emergentes de IE deshabilitado y no tienen instalados otros bloqueadores de elementos emergentes.

¿Alguien puede arrojar alguna luz sobre esto?

¿Fue útil?

Solución

Ah, creo que lo entendí ... lo perdí en la descripción ...

Está intentando abrir una ventana no modal desde un diálogo modal en IE .

Este AFAIK, no debería funcionar.

Intente abrir otra ventana modal en su lugar.

Efectivamente estás diciendo ...

en la ventana A, abra la ventana modal B, ahora abra la ventana no modal C, que no es realmente válida.

Otros consejos

Este código es simple. Use el depurador y vea lo que está sucediendo.

Verifique ese sitio con FireFox o Chrome, tienen depuradores JS.

Edición :

Agregue el bloque try / catch alrededor de window.open () y vea si hay alguna excepción allí.

Editar 2:

Ahora veo que está enviando caracteres como RequestId. Debe verificar si esa URL puede manejar ese tipo de valor. Como el nombre es RequestId , diría que existe una gran posibilidad de que solo haya un parámetro numérico. Si eso es correcto, puede suceder que el lado del servidor se bloquee cuando intentas abrir la ventana y luego no pasa nada. Razonar más para establecer el bloque try / catch y probar.

Es posible que desee probar Firebug lite, que funcionará para IE.

http://getfirebug.com/lite.html

La prueba / captura que otras personas han mencionado también es una buena idea. Creo.

Además, ¿hay alguna posibilidad de que la ventana emergente intente utilizar una ventana que ya está abierta pero minimizada? Entonces, ¿no parece funcionar, pero en realidad solo está recargando la ventana minimizada?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top