Вы можете «исправить» это, переключившись на настоящие браузеры:)
Действительно, вы могли бы быть в состоянии исправить это в соответствии с трюком, который я нашел на этой странице .
По сути, вам нужно создать пустой узел и удалить его локально после обновления DOM новым содержимым :
var t = document.createTextNode('temp text');
element.appendChild(t); // Not sure if this is any element
// or one inside your new DOM nodes.
setTimeout(function() { t.parentNode.removeChild(t); }, 0);
На этой странице автор говорит:
Даже с моим "исправлением" это работает только если
пользователь перемещает курсор мыши
окна и обратно.
Но я думаю, что это так же хорошо, как и получается ... Я думаю, что IE может не запускать обновление, если в окне браузера не выполняется какая-либо активность, чтобы сэкономить время обработки.
Это давно известная действительно раздражающая ошибка в IE, хотя я нигде не могу ее найти. На самом деле, даже у Opera есть такая ошибка время от времени.
Кроме того, даже если вы решите это с помощью этого трюка, убедитесь, что каждый отдельный фрагмент HTML действителен. Вы можете проверить это в http://validator.w3.org. Если какой-то фрагмент кода недействителен, то вы не можете обвинить браузер в том, что он не понял, что вы имели в виду.