【问题标题】:Chrome Extension: how can I redirect a resource request to a filesystem: url?Chrome 扩展:如何将资源请求重定向到文件系统:url?
【发布时间】:2013-12-31 08:39:04
【问题描述】:

我有一个 Chrome 扩展程序,它的功能基本上类似于高级“离线模式”,我保存所有请求的资源,并且可以在用户请求 url 缓存资源时提供它们。

我正在使用 webRequest API,大部分情况都在工作:

  1. 该扩展程序正在影响我注册的所有活动
  2. 扩展程序正在正确使用 HTML5 文件系统 API 保存文件,并且我发现文件正确存储在我的机器上。
  3. 扩展能够将onBeforeRequest监听器中的请求重定向到其他http:请求
  4. 我可以通过 filesystem: 协议访问我在 Chrome 中存储的文件(例如 filesystem:chrome-extension:///persistent/

但是,我无法使用filesystem: 协议将 webRequest 请求重定向到 url。当我尝试时,我得到一个onErrorOccurred 事件(以下错误。)

如何将 chrome webRequest 重定向到 filesystem:chrome-extension:// 网址? 或者,如果失败了, 如何将 Chrome 扩展程序重定向到同一扩展程序创建的本地文件?

这是完整的错误详细信息对象,以防万一。

error: "net::ERR_ABORTED"
frameId: 0
fromCache: false
method: "GET"
parentFrameId: -1
requestId: "22557"
tabId: 6
timeStamp: 1386874360306.4211
type: "main_frame"
url: "http://<redacted, but correct.>"

【问题讨论】:

    标签: google-chrome google-chrome-extension html5-filesystem


    【解决方案1】:

    这应该会有所帮助..

    return { redirectUrl: chrome.extension.getURL("/your/local/storage.jpg") }
    

    【讨论】:

    • 我已经完成了那部分......现在的问题是chrome不会直接从 chrome-extension:// 协议加载文件,而它会从文件系统加载文件:协议,扩展中的重定向器似乎被文件系统抛出:协议。
    • 当你说不会加载时,你得到什么类型的错误/你是如何访问 url 的?使用获取请求?还是图片?
    猜你喜欢
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 2014-08-17
    • 2021-09-09
    • 2011-12-24
    • 1970-01-01
    • 2012-08-17
    相关资源
    最近更新 更多