Я пытаюсь переопределить 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