2008-12-10 18 views

Respuesta

10

Su código JavaScript solo puede cerrar una ventana sin confirmación que fue abierta previamente por window.open(). Esta es una precaución de seguridad intencional porque una secuencia de comandos que se ejecuta en una página web no es propietaria de la ventana, y al cerrar descarta el historial de navegación en esa ventana.

La solución alternativa es tener una "página de bienvenida" o un tipo de página que abre la ventana que desea cerrar con window.open en primer lugar, o decirle a los usuarios que modifiquen la configuración de seguridad de su navegador para permitir que su aplicación cierre sus ventanas.

+0

La página web fue generada por el usuario haciendo clic en un enlace en un correo electrónico enviado por la aplicación. –

+1

Puede intentar hacer el enlace como Click me. Pero dudo que muchos clientes de correo ejecuten JavaScript. Lamentablemente, creo que es posible que no tenga suerte. – Tmdean

+0

Tienes razón, no tengo suerte. Tuve que implementar una solución diferente. –

7

Hay un truco para esto.

para IE llamada:

window.open('close.html', '_self'); 

después en close.html todo lo que necesita es:

<script>window.close();</script> 

Desde esta esencia se abre una ventana emergente, en la misma ventana llamada, cuando el "nuevo' la ventana se abre, tiene un "abrelatas" y así se le permite cerrar.

+0

¿Añadiría la llamada window.open al evento onClick de la etiqueta de anclaje? Ver el comentario de Tmdean en la respuesta 1? –

+0

Intenté su solución, pero no funcionará en nuestro entorno porque javascript se ha desactivado en nuestro cliente de correo electrónico. Gracias por la entrada. –

+0

¡Gran truco! Trabajó para mi. – redolent

20

En la ventana emergente abierta escriba siguiente

var objWin = window.self; 
objWin.open('','_self',''); 
objWin.close(); 
+0

Esto funcionó perfectamente en mi Intranet. – NetMage

+0

Gracias, he estado buscando esto hace mucho tiempo ... – TMMDev

+0

Gracias ... Me funcionó el hecho de obtener esta ventana emergente en IE9. –

Cuestiones relacionadas