Javascript 如何在Chrome扩展第三方库中处理相对协议URL

Javascript 如何在Chrome扩展第三方库中处理相对协议URL,javascript,google-chrome,google-chrome-extension,xmlhttprequest,relative-url,Javascript,Google Chrome,Google Chrome Extension,Xmlhttprequest,Relative Url,我正在开发一个依赖于第三方javascript库的Chrome扩展。在库的代码中,指向其资源和API端点的所有URL都使用相对协议,如: //blah.com/api/get the stuff/ 问题是,当从扩展中进行调用时,我认为URL会变成: chrome-extension://blah.com/api/get-the-stuff/ 显然这不起作用。一种解决方案是将第三方库更改为完整URL,如: https://blah.com/api/get-the-stuff/ 这是可行的,但实际上

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

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

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

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

显然这不起作用。一种解决方案是将第三方库更改为完整URL,如:

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

这是可行的,但实际上维护这个库的修改版本是不可持续的。 有办法解决这个问题吗

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

chrome-extension://invalid/

这是Chrome对我的电脑所做的重写吗
chrome-extension://blah.com/api/get-the-stuff/
URL,然后再创建请求?我是否需要以某种方式修改清单,以允许触发这些“坏”URL请求,以便重写它们

或者我完全找错人了