Ответ 1
Вы можете закрыть только созданные окна/вкладки. То есть вы не можете программно закрыть окно/вкладку, которую создает пользователь.
Например, если вы создаете окно с window.open()
, вы можете закрыть его с помощью window.close()
.
У меня есть тесная связь на моей веб-странице. Я хотел бы использовать его, чтобы закрыть текущую вкладку, щелкнув ее. Я написал
<a href="#" onclick = "javascript:self.close();">close</a>
Этот код, похоже, хорошо работает в Internet Explorer. Но он не работает в Mozilla Firefox и Google Chrome. Пожалуйста, помогите мне решить эту проблему.
Вы можете закрыть только созданные окна/вкладки. То есть вы не можете программно закрыть окно/вкладку, которую создает пользователь.
Например, если вы создаете окно с window.open()
, вы можете закрыть его с помощью window.close()
.
Как и в случае с Chrome 46, простой onclick=window.close()
делает трюк. Это закрывает вкладку, а не весь браузер, если открываются несколько вкладок.
Вы можете использовать ниже JavaScript.
window.open('','_self').close();
В HTML вы можете использовать ниже код
<a href="javascript:close_window();">close</a>
Я пробовал это в Chrome 61 и IE11, он работает нормально. Но это не работает с Firefox 57. В Firefox мы можем закрыть только окна, которые открылись с помощью команды ниже.
window.open()
Нашел однострочник, который работает в Chrome 66, по адресу: http://www.yournewdesigner.com/css-experiment/javascript-window-close-firefox.html
TL;DR: обманывает браузер, заставляя поверить, что JavaScirpt открыл текущую вкладку/окно
window.open('', '_parent', '').close();
Итак, для полноты
<a href="#" onclick = "javascript:window.open('', '_parent', '').close();">close</a>
Хотя следует также отметить, что читатели могут захотеть поместить это в функцию, которая распознает, какие браузеры требуют такой хитрости, потому что Firefox 59 не работает с вышеупомянутым.
Я не могу закрыть свое текущее окно, используя любую функцию скрипта Java. Кто-нибудь может предложить функции в угловых js или jquery, которые могут закрыть текущее окно, которое ими не открывается
Используйте это:
window.open('', '_self');
Это работает только в хром; это ошибка. Это будет исправлено в будущем, поэтому используйте это хакерское решение, имея в виду это.
Попробуйте следующее:
<script>
var myWindow = window.open("ANYURL", "MyWindowName", "width=700,height=700");
this.window.close();
</script>
Это работало для меня в некоторых случаях в Google Chrome 50. Однако это не работает, если вы вставляете функцию javascript.
Попробуйте следующее:
window.open('', '_self').close();