Для моих собственных целей ( кашель отложенная загрузка рекламного сценария) я перезаписываю функцию document.write, чтобы буферизовать вывод сценария, записать его в div и восстановить нативный документ . напиши, когда я закончу.
Псевдокод выглядит примерно так:
- сохранить исходный код document.write
- переопределить document.write
- eval и буферный вывод скрипта
- когда скрипт будет выполнен, запишите буфер в
- восстановить родной document.write
Проблема возникает на шаге, выделенном жирным шрифтом - одна из строк рекламного сценария создает iframe и вызывает
frame.document.write
Проходя через Firebug, я убедился, что этот document.write является нативным кодом JS, а не моей перезаписанной версией.
Есть ли способ перезаписать document.write для ВСЕХ окон и фреймов? Это ограниченная проблема, но я не уверен, как заставить мой document.write преобладать.