Переопределить document.write - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь переопределить document.write, чтобы я мог взять необработанный html-анализ, сделать некоторые манипуляции с кодом и вернуть вызов.Весь мой процесс асинхронный, поэтому нет необходимости говорить, что при вызове document.write, если страница завершила загрузку document.write, удалит весь документ, поэтому я не могу вызвать document.write.Я искал и нашел много дискуссий по этому поводу, но почти все они очень старые, поэтому я не могу найти хорошего ответа.мой код на данный момент очень прост:

 const prevDocWrite = document.write;
 document.write = function(str,patched) {
        if(patched){

            prevDocWrite.call(this, str);
        }else{
            Dom_Parser(str, context).then(newStr => {

                prevDocWrite.call(this, newStr);
            })};
    };

Я добавил «пропатченную» часть, потому что я также вызываю document.write в своем коде, поэтому я называю его так: document.write («str»), правда), и он немедленно вызовет оригинальный document.write.

Я был бы очень признателен за любую помощь или идеи, как это сделать (другие проекты для справки будут отличными)

Кстативидел много реализации с использованием innerHtml, но это испортило теги <script>: (

Спасибо LOT

...