1

我正在开发一个依赖于 3rd 方 javascript 库的 Chrome 扩展。在库的代码中,其资源和 API 端点的所有 URL 都使用相对协议,例如:

//blah.com/api/get-the-stuff/

问题是,当从扩展中进行调用时,我认为 URL 变成了这样:

chrome-extension://blah.com/api/get-the-stuff/

显然这是行不通的。一种解决方案是将 3rd 方库更改为完整的 URL,例如:

https://blah.com/api/get-the-stuff/

这可行,但实际上维护此库的修改版本是不可持续的。有没有办法处理这个?

我认为chrome.webRequest API看起来很有希望在请求发送之前重写 URL,但是这些相对协议 URL 在触发此 API 上的侦听器之前似乎失败了。请求在开发者控制台的网络选项卡中显示为:

chrome-extension://invalid/

这是 Chrome 在 chrome-extension://blah.com/api/get-the-stuff/创建请求之前对我的 URL 所做的重写吗?我是否需要以某种方式更改我的清单以允许触发这些“错误”的 URL 请求,以便我可以重写它们?

或者,也许我完全是在叫错树?

4

0 回答 0