У меня нет точного ответа, но я могу угадать и дать обходной путь.
Сначала обойти: замените UNORDERED_NODE_SNAPSHOT_TYPE
на тип, который не создает снимок (если вам не нужноэто так) и возвращает несколько узлов, таких как UNORDERED_NODE_ITERATOR_TYPE
(или ANY_TYPE
).
И мое предположение: после прочтения spec он скажет для этой функции 'TYPE_ERR: повышается, еслиРезультат не может быть преобразован для возврата указанного типа. '.Это может быть случай, когда он не может выделить ресурсы для создания снимка или что-то вроде этого (обходной путь предполагает это).
Редактировать:
Реальная проблема, скорее всего, не в вызовеdocument.evaluate
означает, что в вашем коде вы делаете allTags.iterateNext
, и этот вызов ожидает, что allTags
будет * _NODE_ITERATOR_TYPE, а не * _NODE_SNAPSHOT_TYPE, использование allTags.snapshotItem
не приводит к возникновению ошибки.Я написал пример на jsfiddle , он меняет границы через 2 секунды, используя вызов для оценки вашего вопроса и правильного перебора элементов.