Cerrar Tabs / Pestañas Internet Explorer 7

.Net Sin comentarios »

Creo que este problema es algo frecuente. Intentamos cerrar una pestaña desde una aplicación .Net. Esto simplemente es un "window.close();" y todo funciona correctamente desde Internet explorer 6, pero si intentamos lo mismo en  IE7 salta un popup para preguntarnos si realmente queremos cerrar la pestaña.

La solucion es sencilla. Desde la pagina que queremos cerrar redirigimos nuestra aplicación hacia una página nueva que simplente tendrá el siguiente script:

HTML:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.     <title></title>
  4. </head>
  5.  
  6. <script language=javascript type="text/javascript">
  7.     window.open('', '_self');
  8.     window.close();
  9. </script>
  10. </body>
  11. </html>

La explicación parece ser que es por motivos de seguridad. No se permite cerrar una pestaña desde Javascript que no ha sido abierta desde Javascript. Con este código simplemente engañamos al navegador haciendole creer que la pagina ha sido abierta desde cliente y luego la cerramos.

Un Bug?

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in

Switch to our mobile site