我正在开发依赖第三方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/
这样可行,但实际上维护此lib的修改版本并不可行。 有办法处理这个吗?
我认为chrome.webRequest API看起来很有希望在请求发送之前重写URL,但这些相对协议URL似乎在它们触发此API上的侦听器之前失败。请求显示在开发人员控制台的网络选项卡中:
chrome-extension://invalid/
这是Chrome正在对我做的改写
创建请求之前的chrome-extension://blah.com/api/get-the-stuff/
个网址?我是否需要以某种方式改变我的清单以允许这些"坏"要求解雇的URL请求我可以重写它们吗?
或者我可能完全咆哮错误的树?