我试图覆盖file:///
URL(无论是指向文件还是目录),以使扩展程序显示其自己的文件浏览器以查看目录视图,并且还可能允许编辑文件的单个文件。
我进行了以下尝试,但从未为文件或文件夹触发监听器:
browser.webRequest.onBeforeRequest.addListener((details) => {
const {documentUrl, originUrl, type, requestBody, url} = details;
if ((/^file:/).test(originUrl)) {
return {
redirectUrl: browser.extension.getURL('filebrowser/index.html') + '?abc=1'
};
}
}, {
urls: ['file:///*/*']
}, ['blocking']);
我确实向清单添加了"file:///*/*"
权限("<all_urls>"
也无效)(并且我为重定向添加了“ web_accessible_resources”,但从未实现)。
我猜想这可能是由于https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/RequestFilter#Type所致,它指出尽管文件模式支持其他协议,但仅使用HTTP / HTTPS发出的请求才可以处理事件。但是,onHeadersReceived
似乎确实至少收到了file:///
个文件请求(尽管不是目录请求),即使重定向所需的onBeforeRequest
也没有。
任何人都可以确认是否有任何解决方法吗?