В IE8 вы не можете изменить innerHTML объекта, когда код, который пытается запустить его изнутри объекта.
Например:
<span id='n1'>
<input type=button value='test' onclick='DoSomething(this);'>
</span>
со следующим кодом, скрытым в некотором удаленном углу вашего документа:
<script type='text/javascript'>
function DoSomething(element)
{
document.getElementById("n1").innerHTML = "This is a test"
}
</script>
Это произойдет с ошибкой неизвестной ошибки времени выполнения. Я считаю, что это связано с тем, что вы пытаетесь заменить HTML-код, который запустил текущую строку исполнения. Событие onclick является частью кода, заменяемого функцией DoSomething. IE8 это не нравится.
Я решил свою проблему, установив событие таймера на 250 миллисекунд, чтобы функция, вызываемая в конце 250 миллисекунд, заменяла innerHTML диапазона.