2011-11-08 13 views
13

Mam przycisk html, który chcę zamknąć bieżące okno po kliknięciu. Myślałem, że mogę ustawić funkcję onclick, tak jak to zrobiłem poniżej. Czy czegoś brakuje?Przycisk HTML Zamknij okno

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

Odpowiedz

28

W atrybucie onclick nie trzeba określać javascript.

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

To powinno wystarczyć. Aby go zamknąć, twoja strona musi zostać otwarta przez skrypt, stąd okno.open. Oto artykuł wyjaśniający to w szczegółach: http://www.yournewdesigner.com/css-experiments/javascript-window-close-firefox.html

+1

Dzięki, że to dobra rada, ale faktycznym problemem jest to, że jestem kretynem. Zmarnowane mnóstwo czasu, ponieważ testowałem inny plik niż ten, który edytowałem. Wow ... Dzięki za dobrą radę! – jcmitch

+0

nice ... Będę musiał użyć tego następnym razem, gdy będę musiał napisać skrypt, który tworzy 130 nowych okien. –

+0

Cóż, to na pewno wydaje się ominąć cały punkt, nie pozwalając na surowe wywołanie 'window.close()'. .pl –

11

JavaScript może jedynie zamknąć okno jest otwarte

1

Wiem, że wątek został odebrany, ale inne rozwiązanie, które może być przydatne dla niektórych, szczególnie dla tych z wieloma stronami, w których chcą mieć ten przycisk , jest podanie danych wejściowych jako id d umieść kod w pliku JavaScript. Następnie możesz umieścić kod dla przycisku na wielu stronach, zajmując mniej miejsca w kodzie.

dla przycisku:

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

w pliku JavaScript:

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

użyć kodu poniżej. Działa za każdym razem.

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

To działa dla mnie ewakuująco w Chrome i w przeglądarce Firefox.

Powiązane problemy