凭枰
狐狸大王
狐狸大王
  • UID32865
  • 注册日期2010-05-17
  • 最后登录2025-02-04
  • 发帖数536
  • 经验489枚
  • 威望1点
  • 贡献值226点
  • 好评度50点
  • 社区居民
  • 忠实会员
阅读:833回复:3

有办法给全局生效的扩展添加生效域名的黑白名单不?

楼主#
更多 发布于:2017-02-17 23:49
就是用扩展A去控制扩展B,仅在地址栏满足条件的情况下扩展B生效或禁用。

最新喜欢:

infinityinfini...
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
1楼#
发布于:2017-02-18 00:16
> 有办法给全局生效的扩展添加生效域名的黑白名单不
有,在进入扩展的处理逻辑之前先判断下当前域名

> 就是用扩展A去控制扩展B,仅在地址栏满足条件的情况下扩展B生效或禁用。
首先,扩展 B 必须是不需重启的
其次,扩展 B 生效后在当前标签和匹配域名的后台标签立即生效,但又不会影响其他后台标签
再次,当切换标签或者同一标签内地址栏发生了改动,会导致扩展 B 频繁启用/禁用,性能堪忧。如果扩展存在资源泄露,那么崩溃不可避
这和你标题的需求并不一致
凭枰
狐狸大王
狐狸大王
  • UID32865
  • 注册日期2010-05-17
  • 最后登录2025-02-04
  • 发帖数536
  • 经验489枚
  • 威望1点
  • 贡献值226点
  • 好评度50点
  • 社区居民
  • 忠实会员
2楼#
发布于:2017-02-18 00:30
aaaa007cn:> 有办法给全局生效的扩展添加生效域名的黑白名单不
有,在进入扩展的处理逻辑之前先判断下当前域名

> 就是用扩展A去控制扩展B,仅在地址栏满足条件的情况下扩展B生效或禁用。
首先,扩展 B 必须是不需重启的
其次,扩展 B 生...
回到原帖
谢谢
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
3楼#
发布于:2017-02-18 00:54
源码可以直接在 amo 看的……

这是个 webext 扩展
监听 onHeadersReceived 事件
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/onHeadersReceived
modifyCSP 的参数 e 包括了 frameId、parentFrameId、tabId
可以通过它们来取得需要的信息

https://stackoverflow.com/questions/39115021/get-the-document-url-in-chrome-webrequest-onbeforerequest
或者利用 addListener 的 filter 参数
游客

返回顶部