代码之家  ›  专栏  ›  技术社区  ›  Brett Zamir

无法重定向`file://`请求

  •  4
  • Brett Zamir  · 技术社区  · 6 年前

    我正试图超越 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 这是重定向所需要的,而不是。

    有人能确认是否有解决办法吗?

    0 回复  |  直到 6 年前
    推荐文章