Jak mogę zamknąć okno przeglądarki bez pytania Czy chcesz zamknąć to okno ?
Monit pojawia się, gdy używam window.close();
funkcji.
javascript
browser
Derek
źródło
źródło
window.open('','_self').close()
Odpowiedzi:
window.open('', '_self', ''); window.close();
To działa dla mnie.
źródło
showModalDialog
? Nie działa na IE10Mój przyjacielu… jest sposób, ale „hack” nie zaczyna go opisywać. Zasadniczo musisz wykorzystać błąd w IE 6 i 7.
Działa za każdym razem!
Zamiast dzwonić
window.close()
, przekieruj na inną stronę.Strona początkowa:
alert("No whammies!"); window.open("closer.htm", '_self');
Przekieruj na inną stronę. To oszukuje IE, pozwalając ci zamknąć przeglądarkę na tej stronie.
Strona zamykająca:
<script type="text/javascript"> window.close(); </script>
Niesamowite co ?!
źródło
Skrypty nie mogą zamknąć okna, które otworzył użytkownik. Jest to uważane za zagrożenie bezpieczeństwa. Chociaż nie jest to w żadnym standardzie, wszyscy dostawcy przeglądarek postępują zgodnie z tym ( dokumentacja Mozilli ). Jeśli tak się dzieje w niektórych przeglądarkach, jest to błąd bezpieczeństwa, który (najlepiej) jest naprawiany bardzo szybko.
Żaden z hacków w odpowiedziach na to pytanie już nie działa, a jeśli ktoś wymyśli kolejny brudny hack, w końcu również przestanie działać.
Sugeruję, abyś nie marnował energii na walkę z tym i skorzystał z metody, którą daje Ci przeglądarka - zapytaj użytkownika, zanim pozornie zawiesisz jego stronę.
źródło
Oto funkcja Javascript, której używam do zamykania przeglądarki bez pytania lub ostrzeżenia, można ją również wywołać z Flasha. Powinien być w pliku html.
function closeWindows() { var browserName = navigator.appName; var browserVer = parseInt(navigator.appVersion); //alert(browserName + " : "+browserVer); //document.getElementById("flashContent").innerHTML = "<br> <font face='Arial' color='blue' size='2'><b> You have been logged out of the Game. Please Close Your Browser Window.</b></font>"; if(browserName == "Microsoft Internet Explorer"){ var ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false; if (ie7) { //This method is required to close a window without any prompt for IE7 & greater versions. window.open('','_parent',''); window.close(); } else { //This method is required to close a window without any prompt for IE6 this.focus(); self.opener = this; self.close(); } }else{ //For NON-IE Browsers except Firefox which doesnt support Auto Close try{ this.focus(); self.opener = this; self.close(); } catch(e){ } try{ window.open('','_self',''); window.close(); } catch(e){ } } }
źródło
showModalDialog
. OncloseWindows
, otwiera nowe okno (tę samą stronę), podczas gdy poprzednie jest nadal otwarte.Działa to w Chrome 26, Internet Explorer 9 i Safari 5.1.7 ( bez użycia strony pomocniczej, ala odpowiedź Nicka):
<script type="text/javascript"> window.open('javascript:window.open("", "_self", "");window.close();', '_self'); </script>
Zagnieżdżenie
window.open
powoduje, że IE nie wyświetla monitu Czy chcesz zamknąć to okno .Niestety nie można zmusić Firefoksa do zamknięcia okna.
źródło
W tagu body:
<body onload="window.open('', '_self', '');">
Aby zamknąć okno:
<a href="javascript:window.close();">
Testowano w przeglądarce Safari 4.0.5, FF dla komputerów Mac 3.6, IE 8.0 i FF dla systemu Windows 3.5
źródło
Ze względów bezpieczeństwa okno można zamknąć w JavaScript tylko wtedy, gdy zostało otwarte przez JavaScript. Aby zamknąć okno, musisz otworzyć nowe okno z
_self
celem, który nadpisze twoje obecne okno, a następnie zamknij to okno (co możesz zrobić, ponieważ zostało otwarte przez JavaScript).window.open('', '_self', ''); window.close();
źródło
Od tutaj :
<a href="javascript:window.opener='x';window.close();">Close</a>
Trzeba
window.opener
na coś ustawić , inaczej będzie narzekać.źródło
window.open('', '_self', '').close();
Przepraszam trochę za późno, ale znalazłem rozwiązanie, przynajmniej w moim przypadku. Testowano w przeglądarce Safari 11.0.3 i Google Chrome 64.0.3282.167
źródło
Ze względu na ulepszenia zabezpieczeń w IE nie można zamknąć okna, dopóki nie zostanie otwarte przez skrypt. Aby obejść ten problem, należy pozwolić przeglądarce pomyśleć, że ta strona jest otwierana za pomocą skryptu, a następnie zamknąć okno. Poniżej znajduje się realizacja.
Spróbuj tego, to działa jak urok!
javascript zamknij bieżące okno bez pytania IE
<script type="text/javascript"> function closeWP() { var Browser = navigator.appName; var indexB = Browser.indexOf('Explorer'); if (indexB > 0) { var indexV = navigator.userAgent.indexOf('MSIE') + 5; var Version = navigator.userAgent.substring(indexV, indexV + 1); if (Version >= 7) { window.open('', '_self', ''); window.close(); } else if (Version == 6) { window.opener = null; window.close(); } else { window.opener = ''; window.close(); } } else { window.close(); } } </script>
javascript zamknij bieżące okno bez pytania IE
źródło
Utwórz funkcję JavaScript
<script type="text/javascript"> function closeme() { window.open('', '_self', ''); window.close(); } </script>
Teraz napisz ten kod i wywołaj powyższą funkcję JavaScript
<a href="Help.aspx" target="_blank" onclick="closeme();">Help</a>
Lub po prostu:
<a href="" onclick="closeme();">close</a>
źródło
To zadziała:
<script type="text/javascript"> function closeWindowNoPrompt() { window.open('', '_parent', ''); window.close(); } </script>
źródło
window.opener=window; window.close();
źródło
Przeglądarka narzeka, ponieważ używasz JavaScript do zamykania okna, które nie zostało otwarte w JavaScript, tj
window.open('foo.html');
.źródło
Najlepsze rozwiązanie jakie znalazłem to:
this.focus(); self.opener=this; self.close();
źródło
Umieść następujący kod w pliku ASPX.
<script language=javascript> function CloseWindow() { window.open('', '_self', ''); window.close(); } </script>
Umieść następujący kod w kodzie zdarzenia kliknięcia przycisku.
string myclosescript = "<script language='javascript' type='text/javascript'>CloseWindow();</script>"; Page.ClientScript.RegisterStartupScript(GetType(), "myclosescript", myclosescript);
Jeśli nie masz żadnego przetwarzania przed zamknięciem, możesz bezpośrednio umieścić następujący kod w samym ASPX w tagu kliknięcia przycisku.
OnClientClick="CloseWindow();"
Mam nadzieję że to pomoże.
źródło
W mojej sytuacji następujący kod został osadzony w pliku php.
var PreventExitPop = true; function ExitPop() { if (PreventExitPop != false) { return "Hold your horses! \n\nTake the time to reserve your place.Registrations might become paid or closed completely to newcomers!" } } window.onbeforeunload = ExitPop;
Więc otworzyłem konsolę i napisałem co następuje
PreventExitPop = false
To rozwiązało problem. Więc znajdź kod JavaScript i znajdź zmienne i przypisz je do odpowiedniej „wartości”, która w moim przypadku była „fałszywa”
źródło
Zamierzam to opublikować, ponieważ właśnie tego używam w mojej witrynie i działa zarówno w Google Chrome, jak i IE 10 bez otrzymywania żadnych wyskakujących wiadomości:
<html> <head> </head> <body onload="window.close();"> </body> </html>
W mojej witrynie jest funkcja, którą chcę uruchomić, aby zapisać zmienną włączającą / wyłączającą w sesji bez bezpośredniego przechodzenia do nowej strony, więc po prostu otwieram niewielką wyskakującą stronę internetową. Ta strona internetowa zamyka się następnie natychmiast z
onload="window.close();"
funkcją.źródło
a
z,target=_blank
aby otworzyć małe okienko wyskakujące pod określonym adresem URL, a na koniec używam JS do zamknięcia okna. Chodzi o to, że określony adres URL zapisuje wartość w sesji, aby wyłączyć obrazy tła, chociaż tutaj wkrótce usunę go na korzyść Ajax, gdy tylko dowiem się, jak zrobić Ajax. (wciąż ucząc się lin persay)