Greasemonkey脚本删除特定注释之间的HTML
Greasemonkey script to remove HTML between specific comments?
为了阻止一些我加载页面时不想执行的JavaScript,我想要一个Greasemonkey脚本,它可以删除两个HTML注释标记之间的所有内容。例如:
<!-- sub script -->
Lines containing script elements to be removed
<!-- end sub script -->
我之前曾尝试过使用建议给我的示例脚本来删除脚本元素,但它没有按预期工作。脚本是这样的:
var script = document.querySelectorAll('script[src*="example.com"]');
for (var i = 0, len = script.length; i < len; i++) {
script[i].parentNode.removeChild(scriptscript[i]);
}
简单地说,它并没有像我希望的那样删除脚本元素。我知道评论元素在页面之间是一致的,如果我可以用它们作为开始和结束搜索的标记,并简单地删除其间的所有内容,我相信这会解决问题。
如有任何指导,我们将不胜感激。说我是JavaScript的新手是轻描淡写的,但我学得很快。
您不能仅通过删除包含它的<script>
来删除JavaScript脚本。
这是因为一旦浏览器解析了<script>
,脚本就会运行,并且无法撤消。
但在某些浏览器上,您可以在脚本运行之前使用beforescriptexecute
事件阻止它:
window.addEventListener('beforescriptexecute', function(e) {
if (~e.target.src.indexOf('example.com')) {
e.preventDefault();
}
}, true);
请注意,您的GM脚本必须在您想要阻止的脚本之前运行,以确保使用
@run-at document-start
相关文章:
- 在索引.html和应用.js [node.js] 之间共享变量
- 如何在两个不同的iframe HTML之间进行通信
- jQuery在两个字符串标识符之间选择HTML
- 计算HTML表TD中两个数字之间的百分比
- 静态html中图像之间的空间在javascript中消失
- 仅在使用javascript和html的浏览器中在相同的两个选项卡之间切换
- HTML中两种JS实现之间的差异
- 基本html页面和弹出窗口之间的数据交换
- 如何通过jQuery Ajax在HTML和PHP之间来回传输json字符串
- 在我的Javascript和HTML之间的表单提交按钮链接中遇到问题
- 根据DOM,HTML元素的开始和结束标记之间的内容被称为属性.这个房产的名字是什么
- HtmlService GAS在html表单之间传递变量
- 在D3插件sankey.js和html代码之间定义源代码
- Chrome扩展:内容脚本和background.html之间的通信
- 通过<html和javascript之间的href值
- html内联事件处理程序和非引人注目的事件处理程序之间括号的用法不同
- HTML网站无法在选项卡之间切换
- jquery多次在元素之间插入html
- Flash Professional HTML5 Canvas:是否可以在HTML表单和Canvas之间共享数据
- Windows phone 8和phonegap 2.7.0,HTML页面和Xaml之间的导航以及返回