我正在尝试覆盖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);
})};
};
我添加了“patched”部分,因为我也在我的代码上调用document.write,所以我称之为document.write(“str”,true),它会立即调用原始document.write。
我真的很感激如何实现这一目标的任何帮助或想法(其他参考项目将很棒)
BTW我看到很多使用innerHtml的实现,但这搞砸了<script>
标签:(
非常感谢