截至2018年3月,Chromium不允许修改请求的responseBody。 https://bugs.chromium.org/p/chromium/issues/detail?id=487422#c29
“WebRequest API:允许读取响应主体的扩展”是从2015年开始的一张票。它不是一个需要解决的路径,需要一些工作/帮助。
-
Firefox具有webRequest过滤器实现,允许在应用页面的元指令之前修改响应主体。 https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/filterResponseData 但是,我的问题主要集中在修复Chrome扩展程序。也许Chrome有一天会选择这个。
总的来说,Chrome的扩展构建框架似乎不是构建长期生活软件的可靠途径;浏览器供应商经常更改规则,对新发现的威胁做出反应,没有最新支持的跨浏览器标准。
在我的例子中,解决这个问题的可能方法是将所有JS代码放入扩展的源代码库中。这样就没有第三方连接到获取和执行JS(并与/违反CSP规则冲突)。还没有探索过这个,因为我希望重用代码&我在主浏览器应用程序中使用的交互式组件。