Chrome扩展:如何在注入后删除内容脚本

Chrome Extension: How to remove content script after injection?

本文关键字:删除 脚本 注入 扩展 Chrome      更新时间:2023-09-26

使用Google Chrome扩展:是否可以在内容脚本注入页面后删除它?

没有API方法来重新加载内容脚本(据我所知),所以如果可能的话,我想重新插入脚本并删除旧的脚本。

否。你不能"移除"它。运行内容脚本可能会产生副作用,比如在窗口对象上声明变量和函数、连接到后台页面或侦听DOM事件。如果你的内容脚本没有副作用,那就等于根本没有被注入。

如果您想重新注入它,只需使用代码或源参数调用executeScript即可。简单地将注入的脚本定义为函数,然后对函数调用.toString(),并将它们作为带有"code"参数的原始字符串注入executeScript,这可能很好。这些函数的参数可以作为JSON字符串插入,这甚至更方便。

我认为,如果您动态加载内容脚本,则可以使用javascript(window.location.reload())强制页面刷新,而不加载内容脚本