У меня есть див с атрибутом contenteditable и некоторым текстом. Человек выделяет текст и, например, нажимает на какую-нибудь кнопку, при этом теряется фокус в диве. Затем, после нажатия, выделение нужно восстановить. Причем, должно работать в IE8 и, желательно IE7.
К сожалению, информация в интернете разбросана по кускам, поэтому приходится довольствоваться чем есть. Пока что есть код, который должен работать в нормальных браузерах, но почему-то кидает исключение:
//получение данных о выделении для его восстановления
selection = document.getSelection();
range = selection.getRangeAt(0);
startNode = range.startContainer.parentNode;
endNode = range.endContainer.parentNode;
startOffset = range.startOffset;
endOffset = range.endOffset;
//установка такого же выделения
range = document.createRange();
range.setStart(startNode,startOffset); //исключение здесь "INDEX_SIZE_ERR: DOM Exception 1"
range.setEnd(endNode,endOffset); //и, соответственно здесь, если убрать предыдущую строку
Помогите, пожалуйста, разобраться с этим исключением и созданием кода с аналогичным функционалом, но для IE.
Спасибо.