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

И затем использование его с:

наиболее полный и рабочий (протестированный) код для загрузки данных для FireFox, Chrome и IE. Предположим, что данные находятся в window.close():

close();

Примечание: подразумевается текущая вкладка. Это эквивалентно:

window.close();

, или вы можете указать другое окно.

Итак:

function close_window() {
  if (confirm("Close Window?")) {
    close();
  }
}

с HTML:

<a href="javascript:close_window();">close</a>

читатель может неверно истолковать его как сокращение. Другое значение отрывка текста, окруженного

<a href="#" onclick="close_window();return false;">close</a>

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

Теперь опции в window.confirm() диалоговое окно будет ОК и Отмена (не Да и Нет). Если вы действительно хотите Да и Нет, вам нужно создать какое-то модальное диалоговое окно Javascript.

Примечание: есть определенные для браузера различия с вышеупомянутым. Если вы открыли окно с помощью Javascript (через window.open()), то вы можете закрыть окно с помощью Javascript. Firefox запрещает вам закрывать другие окна. Я полагаю, что IE запросит у пользователя подтверждение. Другие браузеры могут отличаться.

Ссылки на категории персонажей:

<a href="javascript:window.open('','_self').close();">close</a>

Этот метод работает в Chrome и IE:

<a href="blablabla" onclick="setTimeout(function(){var ww = window.open(window.location, '_self'); ww.close(); }, 1000);">
    If you click on this the window will be closed after 1000ms
</a>

Насколько я могу судить, это больше невозможно в Chrome или FireFox. Это все еще возможно в IE (по крайней мере, до Edge).

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

Попробуйте:

window.top.close();

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

Попробуйте тоже. Работаю для меня во всех трех основных браузерах.

<!-- saved from url=(0014)about:internet -->
<a href="#" onclick="javascript:window.close();opener.window.focus();" >Close Window</a>

В Chrome 41 у меня работает следующее:

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

Я испробовал несколько идей для FF, включая открытие реальной веб-страницы, но, похоже, ничего не работает. Насколько я понимаю, любой браузер закроет вкладку или окно с помощью xxx.close (), если он был действительно открытый JS, но FF, по крайней мере, нельзя заставить закрыть вкладку, открыв новый контент внутри этой вкладки.

Помимо возможных проблем с безопасностью, если вы выполняете пользовательский код, в большинстве случаев есть лучший способ, который не требует повторного разбора кода при каждом его выполнении. Анонимные функции или свойства объекта могут заменить большинство применений eval и намного безопаснее и быстрее.

успешно протестирован в FF 18 и Chrome 24:

Вставить в заголовок:

<script>
    function closeWindow() {
        window.open('','_parent','');
        window.close();
    }
</script> 

HTML:

<a href="javascript:closeWindow();">Close Window</a>

// { *} Хорошо, это может быть просто глупый вопрос, хотя я уверен, что есть множество других людей, которые время от времени задают один и тот же вопрос. Я, я просто хочу убедиться в этом в любом случае. С jQuery мы все знаем замечательные Используя необязательные аргументы, такие как Глядя на вывод

Что касается людей которые все еще посещают эту страницу, вам разрешено закрывать вкладку, которая открывается скриптом ИЛИ, с помощью тега привязки HTML с target _blank. Оба они могут быть закрыты с помощью

<script>
window.close();
</script>

с небольшим опозданием, но это то, что я выяснил …

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

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

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

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

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

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

, я могу опоздать, но здесь это предотвращено браузерами по причине.

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

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

<button class="closeButton" style="cursor: pointer" onclick="window.close();">Close Window</button>

и (из-за 0 таймаута) отдельная запись в очереди для исполняемого кода.

Вот как вы должны создать такую ​​ссылку:

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

. Конечно, вы также можете use

<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>