Chrome extension, replace HTML in response code before browser displays it Chrome extension, replace HTML in response code before browser displays it google-chrome google-chrome

Chrome extension, replace HTML in response code before browser displays it


You can use the WebRequest API to achieve that. For example, you can add a onBeforeRequest listener and redirect some requests:

chrome.webRequest.onBeforeRequest.addListener(function(details){  var responseData = "<div>Some text</div>"  return {redirectUrl: "data:text/html," + encodeURIComponent(responseData)};}, {urls: ["https://www.google.com/"]}, ["blocking"]);

This will display a <div> element with the text "some text" instead of the Google homepage. Note that you can only redirect to URLs that the web server itself is allowed to redirect to. This means that redirecting to file:/// URLs is not possible, and you can only redirect to files inside your extension if these are web accessible. data: and http: URLs work fine however.


In Windows you can use the Proxomitron (proxomitron.info) which is a local proxy that can intercept any page or file being loading into your browser and change it using regular expressions (no DOM parsing) however you want, before it is rendered by the browser.