Я хочу закрыть всплывающее окно с цветовым окном при нажатии кнопки "Назад" в браузере.
Я использовал iframe, и внутри него много ссылок. Когда пользователь нажимает на определенную ссылку, открывается всплывающее окно с цветовым окном.
В настоящее время после открытия всплывающего окна, если пользователь нажимает кнопку «Назад», всплывающее окно не закрывается.
Поэтому мне нужна такая функциональность, чтобы, если пользователь нажмет кнопку «Назад», всплывающее окно будет закрыто, а также страница не должна возвращаться назад (Отключить кнопку «Назад»).
Я использовал следующий код, но у меня он не работает.
<script>
$(document).ready(function() {
function disableBack() { window.history.forward() }
window.onload = disableBack();
window.onpageshow = function(evt) { if (evt.persisted) disableBack() }
});
</script>
Пожалуйста, дайте мне любое предложение закрыть всплывающее окно с цветным окном на кнопке возврата или полностью отключить кнопку возврата.
1 ответ
Вам следует использовать window.location.hash
и window.onhashchange
. По сути, после открытия всплывающего окна вы меняете хеш на что-то (например, window.location.hash = "popup_opend"
).
Затем, когда пользователь щелкнет обратно, этот обратный щелчок удалит только что добавленный хеш. Вам просто нужно обработать window.onhashchange, чтобы проверить это и закрыть всплывающее окно.
Конечно, надеюсь, у вас нет другого кода, который манипулирует хешем.
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.