#javascript
#javascript
Вопрос:
Я использую URL#hash для включения модального окна HTML / CSS. Когда он закрыт, мы используем history.back() для возврата к предыдущей странице без создания новой записи истории.
В Firefox все в порядке, однако в IE URL изменяется правильно, но фактический экран не перерисовывается обратно в предыдущее состояние.
console.log("Loading page...");
window.addEventListener("hashchange", function(oEvent)
{ console.log("In hashChange - location.hash = " location.hash); } );
div { background-color: white; }
div:target { background-color: grey; }
<body>
<div id="modal1">test div (modal1)</div>
<a href="#modal1" >Open modal1</a>
<a href="#" onclick=" history.back(); return false; ">Close modal1</a>
</body>
Есть предложения, как заставить IE правильно перерисовать страницу после history.back()?
Комментарии:
1. Просто немного больше информации, я попытался заменить history.back() на location.replaceState(), но все еще возникает та же проблема. var newUrl = location.protocol ‘//’ location. хост местоположение. путь; history.replaceState({}, null, newUrl);
2. Это ошибка в IE, известного решения пока не найдено. Кстати, предложение использовать location.hash=местоположение. хэш не помогает, поскольку это снова создает новую запись истории. Сообщение об ошибке: connect.microsoft.com/IE/feedbackdetail/view/959007 /…