如何删除 HTML 页面中的脚本

How to delete a script in an HTML Page

所以我正在为一个删除广告的网站制作用户脚本。该网站添加了一个脚本,用于检测广告是否已从 HTML 中删除。所以为了再次解决这个问题,我想删除整个脚本,但它没有标识符,所以我不知道该怎么做。假设我有这个代码:

<html>

<body>
    <script>
        if(hasAds) {
            document.write("blah blah blah"); // Act as if this re-ads the ad onto the page
        }
    </script>
    <div id="adsBottom">IMAGINE AD CODE HERE</div>
</body>
     </html>

如何访问脚本部分并将其删除?

好吧,因为您可以预先假定它在 DOM 中的位置(以及 #overlay 中的索引),使用 getElementById(), removeChild() and childNodes:

删除它相对简单
var target = document.getElementById('overlay');
target.removeChild( target.childNodes[0] );

给定以下标记:

<div id="overlay">
    <script>/* AD PREVENTION SCRIPT */</script>
    <p>Blah</p>
</div>

以上将起作用(尽管确实依赖于 <script>#overlay 的第一个 child)。