Изменение #hash не пересчитывает / обновляет CSS страницы в Internet Explorer

#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 /…