Расширение Chrome: как я могу перенаправить запрос ресурса на файловую систему: URL-адрес?

У меня есть расширение Chrome, которое в основном работает как расширенный «автономный режим», где я сохраняю все запрошенные ресурсы и могу предоставить их позже, когда пользователь запрашивает кэшированный ресурс URL.

Я использую API webRequest, и в основном все работает:

  1. Расширение затрагивает все события, на которые я регистрируюсь
  2. Расширение правильно сохраняет файлы с использованием API файловой системы HTML5, и я обнаружил, что файлы правильно хранятся на моем компьютере.
  3. Расширение может перенаправлять запросы в прослушивателе onBeforeRequest на другие http: запросы.
  4. Я могу получить доступ к своим сохраненным файлам в Chrome через протокол filesystem: (например, файловая система: chrome-extension://‹myExtHere›/persistent/‹filename›)

Однако я не могу перенаправлять запросы webRequest на URL-адреса, используя протокол filesystem:. Когда я пытаюсь, я получаю событие onErrorOccurred (ошибка ниже).

Как я могу перенаправить Chrome webRequest на URL-адрес 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.>"

person Hylianpuffball    schedule 12.12.2013    source источник


Ответы (1)


Это должно помочь некоторым..

return { redirectUrl: chrome.extension.getURL("/your/local/storage.jpg") }
person mildse7en    schedule 11.06.2014
comment
У меня есть эта часть... проблема в том, что хром не будет загружать файлы напрямую из протокола chrome-extension://, и хотя он будет загружать файлы из файловой системы: протокол, перенаправитель в расширении кажется быть сброшенным файловой системой: протокол. - person Hylianpuffball; 19.06.2014
comment
когда вы говорите, что не загружается, какую ошибку вы получаете / как вы получаете доступ к URL-адресу? используя запрос на получение? или это образ? - person mildse7en; 19.06.2014