2011-11-08 198 views
13

Tengo un botón html que quiero cerrar la ventana actual al hacer clic. Pensé que podría establecer la función onclick como lo hice a continuación. ¿Me estoy perdiendo de algo?Botón HTML Cerrar ventana

<button type="button" onclick="javascript:window.close()">Discard</button> 

Respuesta

28

Cuando en el atributo onclick no necesita especificar es javascript.

<button type="button" 
     onclick="window.open('', '_self', ''); window.close();">Discard</button> 

Esto debería hacerlo. Para cerrarlo, el script debe abrir su página y, por lo tanto, abrir la ventana. Aquí está un artículo que explica esto en detalle: http://www.yournewdesigner.com/css-experiments/javascript-window-close-firefox.html

+1

Gracias es un buen consejo, pero el problema real es que soy un idiota. Perdí toneladas de tiempo porque estaba probando un archivo diferente al que estaba editando. Wow ... ¡Gracias por el buen consejo! – jcmitch

+0

nice ... Tendré que usarlo la próxima vez que tenga que escribir un script que cree 130 ventanas nuevas –

+0

Bueno, eso seguro parece eludir todo el punto de no permitir una llamada 'window.close()' en bruto .. . –

11

Javascript sólo se puede cerrar una ventana que se abrió

1

Sé que este hilo ha sido respondido, pero es otra solución que puede ser útil para algunos, particularmente aquellos con varias páginas donde quieren tener este botón , es dar a la entrada una identificación d Coloque el código en un archivo JavaScript. A continuación, puede colocar el código para el botón en varias páginas, ocupando menos espacio en su código.

Para el botón:

<input type="button" id="cancel_edit" value="Cancel"></input> 

en el archivo JavaScript:

$("#cancel_edit").click(function(){ 
     window.open('','_parent',''); 
     window.close(); 
    }); 
2

Uso debajo del código. Funciona todo el tiempo.

<button onclick="self.close()">Close</button> 

Funciona evry time para mí en Chrome y en Firefox.

Cuestiones relacionadas