2010-09-20 2 views
0

Я пытаюсь создать расширение для Firefox, чтобы получить страницу с веб-сервера и поместить ее в кеш браузера, чтобы, когда пользователь запрашивает эту ссылку, она будет извлекаться непосредственно из кеша, а не запрашивать исходный веб-сервер.Преодолеть кешируемость страниц в Firefox

Но у меня возникли проблемы с некоторыми страницами, которые помещают заголовки во избежание кеширования, такие как «Cache-control: must-revalidate», «Cache-control: no-store», «Cache-control: no-cache» »и« Pragma: no-cache ».

Я пытаюсь перезаписать эти заголовки с помощью setResponseHeader nsIHttpChannel, когда страница прибывает. Но заголовки не изменяются в соответствующей записи в кэш. Затем я пытаюсь установить setMetaDataElement nsICacheEntryDescriptor для изменения ключа метаданных «response-head». Хотя данные изменены, страница все еще извлекается с исходного веб-сервера.

Кто-нибудь знает, как преодолеть эту проблему и заставить страницы загружаться из кеша Firefox? Это возможно?

Заранее спасибо.

ответ

1

Я использовал XMLHttpRequest для извлечения страницы, и проблема заключалась в том, что я изменил заголовки ответов в функции «onreadystatechange», которую я сделал.

Alternatevely, я использовал наблюдателя для «http-on-study-response» и изменил заголовки ответов в методе «наблюдения». Это изменение теперь хранится в кеше.

У меня есть понимание, глядя на код расширения BetterCache Firefox.