6

Как закрыть текущую вкладку в окне браузера?

35

Я хочу создать ссылку на веб-странице, которая закрывает текущую активную вкладку в браузере, не закрывая другие вкладки. При нажатии на ссылку "Закрыть" должно появляться сообщение с предупреждением, спрашивающее пользователя о подтверждении действия, с двумя кнопками: "ДА" и "НЕТ". Если пользователь нажимает "ДА", вкладка должна закрываться, если "НЕТ" — ничего не должно происходить.

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

5 ответ(ов)

0

Судя по всему, это больше не возможно в Chrome или Firefox. В Internet Explorer (по крайней мере, до Edge) это может еще быть возможно.

0

Да, это возможно. Я искал информацию по этому поводу по всему интернету, но только один раз, когда я заполнил анкету от Microsoft, я наконец нашел ответ.

Попробуйте следующее:

window.top.close();

Этот код закроет текущую вкладку для вас.

0

Вам может помочь следующий код, который работает в Chrome 41:

function leave() {
  var myWindow = window.open("", "_self");
  myWindow.document.write("");
  setTimeout(function() { myWindow.close(); }, 1000);
}

Однако я попробовал несколько решений для Firefox, включая открытие реальной веб-страницы, но ничего не сработало. Насколько я понимаю, любой браузер закроет вкладку или окно с помощью xxx.close(), если они были действительно открыты с помощью JavaScript. Однако Firefox, по крайней мере, не позволяет закрыть вкладку, просто открыв новое содержимое внутри нее.

Это имеет смысл, если подумать об этом - пользователь может не хотеть, чтобы JavaScript закрывал вкладку или окно, в котором есть ценная история.

0

Вы можете использовать следующий код для кнопки, которая закрывает текущее окно браузера:

<button class="closeButton" style="cursor: pointer" onclick="window.close();">Закрыть окно</button>

Этот код работает, так как при нажатии на кнопку выполняется функция window.close(), которая закрывает текущее окно. Учтите, что эта функция может не сработать, если окно не было открыто с помощью JavaScript.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь