Frage

Ich versuche, eine Erweiterung für Firefox zum Aufbau eine Seite von einem Webserver zu erhalten und es in dem Cache des Browsers setzen, so dass, wenn der Benutzer für diesen Link fragt, wird es direkt aus dem Cache abgerufen wird, statt von auf den ursprünglichen Web-Server zu fragen.

Aber ich habe Probleme mit einigen Seiten, die Cachebarkeit setzten Header zu vermeiden, wie "Cache-control: must-revalidate", "Cache-Control: no-store", "Cache-Control: no-cache" und "Pragma: no-cache".

Ich versuche, diese Header mit nsIHttpChannel des setResponseHeader zu überschreiben, wenn die Seite ankommt. Aber die Überschriften werden nicht in dem entsprechenden Cache-Eintrag geändert. Dann versuche ich nsICacheEntryDescriptor die setMetaDataElement den Metadaten-Schlüssel „Antwort-Kopf“ zu ändern. Obwohl die Daten geändert wird, noch die Seite von dem ursprünglichen Web-Server abgerufen wird.

Wer weiß, wie dieses Problem zu überwinden und die Seiten aus Firefox-Cache geladen machen werden? Ist das möglich?

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Ich war mit XMLHttpRequest die Seite abzurufen, und das Problem war, dass ich die Antwort-Header in der „onreadystatechange“ Funktion geändert ich gemacht.

Alternatevely, ich verwenden, um die Beobachter für „http-on-untersuchen-Antwort“, und die Antwort-Header in der „beobachten“ Methode geändert. Die Änderung wird nun durch den Cache gehalten wird.

Ich habe die Einsicht bekommt, indem die Suche BetterCache Firefox-Erweiterung des Code.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top