阅读:2518回复:6
[已解决] uBlock是否支持“源”为正则表达式的情况?
例如,想阻拦掉 https://example.com/author/.* 源页面上,对 https://vod.doucdn.cn/live/.* 发出的请求
但又不影响 https://example.com/others/.* 等页面 这种情况以 domain= 为粒度,似乎不够用了(例如 /^https?:\/\/vod.doucdn.cn\/live\/.*/$domain=example.com) uBlock能应付这种需求吗?如果uBlock暂时不可应付这种场景,那么有其它扩展可以满足这个需求吗?(FF或Chrome扩展都可以,虽然这里是FF-only论坛…) |
|
1楼#
发布于:2019-07-01 09:28
|
|
|
2楼#
发布于:2019-07-01 14:07
fang5566:ubo支持正则表达式的谢谢回复,这个wiki发帖前也搜到了。 这篇wiki等于在说,支持请求“目标”为正则的情况。但没说,请求“源”为正则的情况,是否也支持 说的再具体一点,目前这种规则,我们已经知道是支持的(前半部分是正则,后半部分是domain域名): /^https?:\/\/vod.doucdn.cn\/live\/.*/$domain=example.com 但类似于这种规则,支持吗(前半部分和后半部分,都是正则)? /^https?:\/\/vod.doucdn.cn\/live\/.*/$regex=/^https?:\/\/example.com\/author\/.*/ ——猜测应该是不支持的。 如果不支持,有什么其它扩展能达到类似效果吗?就是主楼写的: 想阻拦掉 https://example.com/author/.* 源页面上,对 https://vod.doucdn.cn/live/.* 发出的请求,同时又不影响 https://example.com/others/.* 等页面,对 https://vod.doucdn.cn/live/.* 发出的请求 |
|
3楼#
发布于:2019-07-01 17:03
$domain=规则选项应该是不支持正则的,作者本来就不喜欢用正则了,支持还要特意说明最好要限定domain避免误杀,更不可能支持domain也用正则。
|
|
|
4楼#
发布于:2019-07-01 21:57
可以向 ublock 作者提功能请求,https://github.com/uBlockOrigin/uBlock-issues/issues
或者用 Header editor 扩展实现: 新建规则类型:重定向请求,不是阻止请求(这个扩展的阻止请求类型不支持自定义函数)。 配置类型:以正则表达式为例,匹配规则为要阻止请求的地址规则 ^https:\/\/vod\.doucdn\.cn\/live\/.*执行类型:自定义函数,内容为 if(detail.type.endsWith('_frame')) return null; if(/https:\/\/example\.com\/author\/.*/.test(detail.originUrl)) return '_header_editor_cancel_';以上第 3 行中的 https:\/\/example\.com\/author\/.* 为源页面正则匹配规则。 |
|
5楼#
发布于:2019-07-03 02:28
lonely_8:可以向 ublock 作者提功能请求,https://github.com/uBlockOrigin/uBlock-issues/issues啊!这个 .test(detail.originUrl) 的方法好聪明啊!大力按一下点赞! 昨天还花了好长时间在找什么新工具,试装了uMatrix等一堆折腾的东西,无果……没想到答案就在眼皮子底下。 非常非常非常感谢^_^ |
|
6楼#
发布于:2020-10-24 11:16
lonely_8:可以向 ublock 作者提功能请求,https://github.com/uBlockOrigin/uBlock-issues/issues厉害!这个方法太棒了!!!多谢前辈! |
|