Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Запрет изменения DOM модели для других потоков


Автор: Kuvaldis 4.12.2008, 19:39
Всем привет. Столкнулся со следующей проблемой. Пишу плагин для IE (C++ ATL, но все же), который выдирает текст из HTML и совершает некоторые "насильственные" действия с DOM моделью (т.е. ее изменяет). Причем с моей стороны все делается в одном потоке. НО!!! При рекурсивном обходе дерева иногда возникают ситуации зацикливания. Как я понимаю, это происходит из-за того, что какие-то потоки (не мои) параллельно изменяют DOM модель!! Это может быть или JavaScript или AJAX. Есть ли какие-нибудь средства синхронизации для моего случая? Или на крайний случай, можно ли каким-либо образом временно отключить сии нехорошести на время критичных для меня действий?

Буду рад помощи 

P.S. Более подходящего форума для данной проблемы найти не удалось, так что извиняйте, если что smile 

Автор: Itsys 6.12.2008, 09:58
Возможно, не знаю точно, можно запретить исполнение JS скриптов на странице... Но как это сделать подсказать тебе не могу... возможно, есть какая-то возможность в API, т.к. в свойствах это сделать можно.

Автор: JSman 8.12.2008, 20:58
Ситуация зацикливания может возникнуть только  в одном случае в DOM: document.parentWindow.document. Либо обращение к свойству ownerDocument. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)