Javascript 是否可以在初始DOM解析期间/之前修改DOM?

Javascript 是否可以在初始DOM解析期间/之前修改DOM?,javascript,events,dom,mutation-events,Javascript,Events,Dom,Mutation Events,是否可以在初始DOM解析期间或之前修改DOM?或者在与DOM交互之前,我必须等待DOM被解析和构建吗?更具体地说,是否可能阻止DOM中的脚本元素在chrome或firefox中使用用户脚本/内容脚本或类似的脚本运行 在解析DOM之前,尝试在DOMNodeInserted上使用eventListeners,但这些只有在构建DOM之后才会启动。在为Chrome开发adblocker时,我实际上已经研究了很多。基本上,不能仅使用Javascript来停止Javascript,特别是因为它将与所讨论的脚

是否可以在初始DOM解析期间或之前修改DOM?或者在与DOM交互之前,我必须等待DOM被解析和构建吗?更具体地说,是否可能阻止DOM中的脚本元素在chrome或firefox中使用用户脚本/内容脚本或类似的脚本运行


在解析DOM之前,尝试在DOMNodeInserted上使用eventListeners,但这些只有在构建DOM之后才会启动。

在为Chrome开发adblocker时,我实际上已经研究了很多。基本上,不能仅使用Javascript来停止Javascript,特别是因为它将与所讨论的脚本元素同时运行。所以,即使它能工作,它也会引起一场灾难。

在为Chrome开发adblocker时,我实际上已经研究了很多。基本上,不能仅使用Javascript来停止Javascript,特别是因为它将与所讨论的脚本元素同时运行。因此,即使它可以工作,也会导致一个错误。

您可以在文档解析期间修改元素,但在该元素添加到dom之后。 比如说

<div id="example"></div>
<script>
    document.getElementById('example').innerHTML = 'hello';
</script>
<div>something else</div>

document.getElementById('example').innerHTML='hello';
别的

您可以在文档解析过程中修改元素,但在此之后,该元素已添加到dom中。 比如说

<div id="example"></div>
<script>
    document.getElementById('example').innerHTML = 'hello';
</script>
<div>something else</div>

document.getElementById('example').innerHTML='hello';
别的

这是两个独立的问题:

一,。是否可以在初始DOM解析期间或之前修改DOM

对。一旦浏览器构建了根元素,就可以开始查询和修改DOM。请注意,当脚本运行时,某些页面可能仍然未被解析,甚至可能仍在网络上传输。脚本通常可以访问包含/调用脚本的脚本标记之前在源代码中声明的任何元素。这包括包含脚本标记的父元素

二,。是否可能阻止DOM中的脚本元素在chrome或firefox中使用用户脚本/内容脚本或类似的脚本运行


不可以。所有脚本都已执行,一个脚本无法阻止另一个脚本的初始执行。但是,您可能可以返回并删除事件处理程序,或者尝试抵消脚本的影响。尽管此场景看起来有点阴暗和/或与正常JavaScript使用格格不入。

这是两个独立的问题:

一,。是否可以在初始DOM解析期间或之前修改DOM

对。一旦浏览器构建了根元素,就可以开始查询和修改DOM。请注意,当脚本运行时,某些页面可能仍然未被解析,甚至可能仍在网络上传输。脚本通常可以访问包含/调用脚本的脚本标记之前在源代码中声明的任何元素。这包括包含脚本标记的父元素

二,。是否可能阻止DOM中的脚本元素在chrome或firefox中使用用户脚本/内容脚本或类似的脚本运行

不可以。所有脚本都已执行,一个脚本无法阻止另一个脚本的初始执行。但是,您可能可以返回并删除事件处理程序,或者尝试抵消脚本的影响。尽管这个场景看起来有点阴暗和/或与正常JavaScript使用格格不入

是否可以在初始DOM解析期间或之前修改DOM

是的,这是可能的

从完全防止文档被完全解析开始,然后从另一方面获取相同的文档,对该文档进行任何处理,然后将生成的文档注入页面

以下是我目前的做法

是否可以在初始DOM解析期间或之前修改DOM

是的,这是可能的

从完全防止文档被完全解析开始,然后从另一方面获取相同的文档,对该文档进行任何处理,然后将生成的文档注入页面


以下是我目前的做法,我似乎不太清楚:给定的站点/HTML不是我的,因此我无法修改原始HTML。我在chrome中创建了一个扩展,显示一个站点,但试图在解析DOM之前通过注入javascript来阻止原始站点中某些脚本的效果。我似乎不太清楚:给定的站点/HTML不是我的,因此我无法修改原始HTML。我在chrome中创建了一个扩展,我在其中显示了一个站点,但试图通过在解析DOM之前注入javascript来阻止原始站点中某些脚本的效果。该站点不是我的,因此我不能像这样在html中插入脚本,请参阅我对原始问题的评论。该站点不是我的,因此,我不能像这样在html中插入脚本,请参阅我对原始问题的评论。对不起,我对javascript执行不太了解,但脚本的执行是否有正式的顺序?这可能取决于所讨论的javascript引擎。不过,比赛状态总是有风险的。特别是在Chrome中,我注意到页面是在执行扩展之前加载的。对不起,我不太了解javascript的执行,但是脚本的执行是否有一个正式的顺序?这可能取决于所讨论的javascript引擎。不过,比赛状态总是有风险的。特别是在Chrome中,我注意到页面在执行扩展之前被加载。你说得对,这实际上是两个独立的问题。继第一个之后,我感兴趣的是,是否有任何EventListener或类似的工具会中断初始解析,并允许我在解析完成之前修改DOM。这里给出的问题是,原始站点/DOM不是我的,因此我无法将脚本直接插入sit