With a Google Chrome Extension: Is it possible to remove a content script after it has already been injected into the page?
There are no API methods for reloading content scripts (as far as I know), so I would like to re-inject the script and remove the old one, if possible.
No. You can't "remove" it. Running a content script can have side effects, like declaring variables and functions on the window object, connecting to the background page, or listening to DOM events. If your content script has no side effects, it is identical to not being injected at all.
If you want to re-inject it, simply call executeScript with either a code or source parameter. It can be nice to simply define your injected scripts as functions, then calling .toString() on the functions, and injecting them as raw strings with the "code" argument to executeScript. Arguments to these functions can be inserted as JSON strings, which is even more convenient.
I suppose if you dynamically load the content scripts it's possible to force a page refresh using javascript (window.location.reload()) this time not loading the content scripts
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With