我正试图超越
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_可访问的_资源”,但根本没有达到)。
我猜这可能是因为
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/RequestFilter#Type
,其中指出,尽管文件模式支持其他协议,但只有使用HTTP/HTTPS发出的请求才能用于事件。然而
onHeadersReceived
似乎至少收到了
文件:///
文件请求(但不是目录请求),即使
onBeforeRequest
这是重定向所需要的,而不是。
有人能确认是否有解决办法吗?