Как закрыть текущую вкладку в окне браузера?
Я хочу создать ссылку на веб-странице, которая закроет текущую активную вкладку в браузере без закрытия других вкладок в браузере.
когда пользователь нажимает на ссылку закрыть, должно появиться предупреждающее сообщение с просьбой подтвердить с помощью двух кнопок "да"и " нет". Если пользователь нажимает "да", закройте эту страницу, а если" нет", ничего не делайте.
Как это можно сделать? Есть предложения?
10 ответов:
для этого вам понадобится Javascript. Используйте
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>
вы чтобы предотвратить поведение по умолчанию для события. В противном случае браузер попытается перейти на тот URL (который он очевидно, что нет).
теперь параметры на
window.confirm()
диалоговое окно будет ОК и отмена (не да и нет). Если вы действительно хотите да и нет вам нужно будет создать какое-то модальное диалоговое окно Javascript.Примечание: есть специфические для браузера различия с вышеизложенным. Если вы открыли окно с Javascript (через
window.open()
) затем вы можете закрыть окно с помощью javascript. Firefox запрещает вам закрываться другие окна. Я считаю, что IE попросит пользователя подтвердить. Другие браузеры могут отличаться.
этот метод работает в 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 (по крайней мере, до края).
это возможно. Я обыскал всю сеть для этого, но однажды, когда я взял один из опросов microsoft, я, наконец, получил ответ.
попробуйте это:
window.top.close();
это закроет текущую вкладку для вас.
успешно протестировано в FF 18 и Chrome 24:
вставить в голову:
<script> function closeWindow() { window.open('','_parent',''); window.close(); } </script>
HTML:
<a href="javascript:closeWindow();">Close Window</a>
кредиты идут в Маркос Дж. Дрейк.
попробуйте и это. Работает на меня во всех трех основных браузерах.
<!-- 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); }
Я пробовал несколько идей для ФФ, включая открытие веб-страницы, но ничего не работает. Насколько я понимаю, любой браузер закроет вкладку или окно с xxx. close (), если это было действительно открыт JS, но FF, по крайней мере, не может быть обманут в закрытии вкладки, открыв новое содержимое внутри этой вкладки.
это имеет смысл, когда вы думаете об этом-пользователь вполне может не хотеть, чтобы JS закрывал вкладку или окно, которое имеет полезную историю.
Это один из способов решения того же, объявить функцию 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>