【发布时间】:2012-03-14 08:14:47
【问题描述】:
我正在寻找允许我禁用特定 javascript 文件运行的 Firefox 插件或 Chrome 扩展程序。有许多用于禁用特定 CSS 文件的方法,似乎找不到与 JS 文件相同的方法。是否有一些限制,或者我应该在发布之前更好地搜索?
【问题讨论】:
标签: firefox google-chrome google-chrome-extension firefox-addon
我正在寻找允许我禁用特定 javascript 文件运行的 Firefox 插件或 Chrome 扩展程序。有许多用于禁用特定 CSS 文件的方法,似乎找不到与 JS 文件相同的方法。是否有一些限制,或者我应该在发布之前更好地搜索?
【问题讨论】:
标签: firefox google-chrome google-chrome-extension firefox-addon
这可以通过 Chrome 扩展程序使用webRequest API 轻松完成。下面的示例阻止所有外部脚本。将<all_urls> 替换为more specific pattern。对于非常动态的模式,您可以修改chrome.webRequest.onBeforeRequest 事件监听器。
chrome://extensions/加载解压后的扩展
background.jschrome.webRequest.onBeforeRequest.addListener(
function() { return {cancel: true}; },
{
urls: ["<all_urls>"], // Change this to a more specific pattern
types: ["script"]
},
["blocking"]
);
manifest.json{
"name": "Block request",
"version": "1.0",
"manifest_version": 2,
"background": {
"scripts": ["background.js"]
},
"permissions": [
"webRequest",
"webRequestBlocking",
"<all_urls>"
]
}
PS。密切关注chrome.declarativeWebRequest API。在撰写本文时,它位于 beta/dev 频道中,但是当您阅读此答案时。这个新的 API 比 webRequest API 更高效,并且允许使用 event pages 而不是后台页面(webRequest API 不能用于事件页面)。
【讨论】:
AdBlock for Chrome 可用于屏蔽 JS 文件.....
https://chrome.google.com/webstore/detail/gighmmpiobklfepjocnamgkkbiglidom
...单击 AdBlock 图标并选择“显示资源列表”并查找您要阻止的 JS 并勾选它旁边的框并进行选择。
注意
在设置中,“我是高级用户,请显示高级选项。”应该被选中。
【讨论】:
我相信这是浏览器调试器工作方式的限制。只注释掉代码中的文件并进行测试可能更容易。
【讨论】: