google-chrome-extension - 即使规则另有说明,DeclarativeNetRequest 也会截获发起者 = localhost 的请求
问题描述
[
{
"id": 1,
"priority": 2,
"action": {
"type": "redirect",
"redirect": { "regexSubstitution": "http://localhost:28438/check-url?url=\\0" }
},
"condition": {
"regexFilter": "^(https?\\://)?[^\\:]+$",
"resourceTypes": [ "main_frame" ],
"excludedDomains":["localhost"]
}
},
{
"id": 2,
"priority": 1,
"action": {
"type": "redirect",
"redirect": {
"regexSubstitution": "\\1"
}
},
"condition": {
"regexFilter": "^(?:http\\://)?localhost.+pass\\?url=(.+)$",
"resourceTypes": [ "main_frame" ]
}
}
]
根据上面的规则#1,来自本地主机的每个请求都应该被忽略,其余的应该被重定向到本地服务器。我添加了规则#2,以便更广泛地了解此案;在这里发布它真的是多余的。
然而,我的期望并不满足,请求被拦截,导致无限循环:
在这种情况下,我尝试打开 msn 网站,但它被第一条规则拦截(第二条规则正常)。
解决方案
推荐阅读
- c++ - C++ 命名空间中的函数未在 Visual Studio 2019 中编译
- java - JavaFX 未启动
- git - 返回“初始提交”会产生不完整的文件
- javascript - 为什么我的编辑页面在 Laravel 中不起作用?我使用了 vue.js
- google-cloud-platform - 为什么 Bigquery 的日内表中有随机日期数据?
- sql - 具有非固定长度页面大小的 SQL 分页
- go - 如何将 []string 转换为 ...string 函数参数
- javascript - 如何使用简单的 html 代码调用 api?
- python - 在 python 中附加 for 循环的输出时,为什么每次附加都得到列名?
- drop-down-menu - 如何使用具有不同字体大小的列表项创建 DropDownlist(jquery 的 Kendo UI)