Я провел некоторое исследование и обнаружил, что невозможно закрыть окно / вкладку в Firefox, если это окно / вкладка не открыта через javascript или если вкладка имеет страницы истории> 1 (т.е. кнопка «Назад» нажимается, потому что вы просматривать веб-страницы).
Способ сделать в Firefox: сначала удалить историю. Затем вы можете закрыть окно без подтверждения. Я не пробовал это решение. Я случайно прочитал несколько надежных страниц, которые описывают, как это сделать.
Решение для Internet Explorer 6, 7, 8.
С небольшой помощью функции обнаружения браузера: http://www.quirksmode.org/js/detect.html, вот как закрыть окно без окна подтверждения для нескольких версий IE.
if ((userBrowser.browser == "Explorer" && (userBrowser.version == "8" || userBrowser.version == "7"))) {
window.open('', '_self', '');
window.close();
} else if ((userBrowser.browser == "Explorer" && userBrowser.version == "6")) {
window.opener = null;
window.close();
} else {
window.opener = '';
window.close(); // attempt to close window first, show user warning message if fails
alert("To avoid data corruption/loss. Please close this window immedietly.");
}
Я знаю, что некоторые из вас могут подумать, что использование обнаружения браузера не очень хорошая идея. Также многие считают, что заставлять пользователей закрывать окна - это плохо. Я согласен с этой идеей. Но мне просто нужно это из-за требований к программному обеспечению, которые нам говорят.
Надеюсь, это поможет.