IE4+ часто не восстанавливает нормальное состояние указателя после выполнения методов document.write() и document.close() (и некоторых других сценариев, изменяющих содержимое окна броузера). Указатель упрямо остается в состоянии "ожидания", при том что обработка соотвествующих данных уже, по правде говоря, давно закончена.
Есть один, хоть и не стандартный, способ, который поможет в данной ситуации. Метод document.close() дополнительно вызывается в конструкции javascript:псевдо-URL (простое добавление еще одного document.close() в сценарий ни к чему не приведет). Для использования этого способа в наборе фреймов, javascript: URL должен соответствовать вершине иерархии набора фреймов, в то время как document.close () выпоняется по отношению к фрейму, содержимое которого изменено. Например, если был изменен фрейм с названием content, создайте функцию следующего вида:
function recloseDoc() {
if (isIE) {
top.location.href =" javascript:void(parent.content.document.close())"
}
}
Это означает, что в сценарии существует специальный фрагмент, который устанавливает глобальную переменную isIE в значение true, если данный броузер — IE. Если функция recloseDoc () запускается в многофреймовом документе, то в тех сценариях, в которых производится изменение содержимого фрейма, можно вызвать эту функцию после любого действия, которое препятствует нормальной работе указателя. |