Как закрыть текущую вкладку в окне браузера? - PullRequest
380 голосов
/ 16 января 2010

Я хочу создать на веб-странице ссылку, которая закрывала бы активную в данный момент вкладку в браузере, не закрывая другие вкладки в браузере.
Когда пользователь нажимает ссылку закрытия, должно появиться предупреждающее сообщение с просьбой подтвердить его двумя кнопками «ДА» и «НЕТ». Если пользователь нажимает «ДА», закройте эту страницу и, если «НЕТ», ничего не делайте.

Как это можно сделать? Есть предложения?

Ответы [ 14 ]

0 голосов
/ 16 марта 2019

Я могу опоздать сюда, но браузеры по какой-то причине предотвращают это.

Думайте о себе, пытаясь закрыть окно снова и снова, и оно не закрывается, поскольку выполняет часть «, если нет » из вашего вопроса, которая называется «ничего не делать».

Это наверняка будет раздражать!

0 голосов
/ 25 октября 2018

немного поздно, но это то, что я узнал ...

window.close() будет работать только (IE является исключением), если окно, которое вы пытаетесь close(), было открыто скриптом с использованием метода window.open ().

вы получите ошибку консоли: Скрипты не могут закрывать окна, которые не были открыты скриптом. как ошибка и ничего больше.

Вы можете добавить уникальный параметр в URL, чтобы узнать, была ли страница открыта из скрипта (например, времени) - , но это просто взлом , а не нативная функциональность и не удастся в некоторых случаях.

Я не смог найти способ узнать, была ли страница открыта из open () или нет, и близко не кинет и ошибки. это НЕ напечатает «тест»:

try{
  window.close();
}
catch (e){
  console.log("text");
}

вы можете прочитать в MDN подробнее о функции close ()

0 голосов
/ 17 апреля 2014

Это один из способов решения той же проблемы, объявив функцию JavaScript, подобную этой

<script>
  function Exit() {
     var x=confirm('Are You sure want to exit:');
     if(x) window.close();
   }
</script>

Добавьте следующую строку в HTML для вызова функции, используя <button>

<button name='closeIt' onClick="Exit()" >Click to exit </Button>
0 голосов
/ 16 января 2010

Вот как бы вы создали такую ​​ссылку:

<a href="javascript:if(confirm('Close window?'))window.close()">close</a>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...