I am looking for a Firefox addon or Chrome extension that would allow me to disable particular javascript file from running. There are many of those for disabling particular CSS file, cannot seem to find one that does the same with JS files. Is there some limitations or I should have searched better before posting?
This can be done quite easily via a Chrome extension, using the webRequest
API. The example below blocks all external scripts. Replace <all_urls>
with a more specific pattern. For very dynamic patterns, you can modify the chrome.webRequest.onBeforeRequest
event listener.
chrome://extensions/
background.js
chrome.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. Keep an eye on the chrome.declarativeWebRequest
API. At the time of writing, it's in the beta/dev channel, but when you read this answer. This new API is more efficient than the webRequest
API, and allows one to use event pages instead of background pages (the webRequest
API cannot be used on event pages).