如何删除 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)。
所以我正在为一个删除广告的网站制作用户脚本。该网站添加了一个脚本,用于检测广告是否已从 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)。