Firefox コード例:キャッシュをクリアする
FirefoxアドオンからFirefoxのキャッシュをクリアするJavascript例を挙げる。
■キャッシュをまるっと消す
FF3のメニューバーで「ツール→オプション→詳細→ネットワーク→オフラインデータ」とたどり、「今すぐ消去」ボタンを押下するのとほぼ同じようなキャッシュをまるっと消す処理を拡張機能から実行できる。
■キャッシュを個別に消す
特定のキャッシュを指定して消すこともできる。
■キャッシュの確認方法
Firefoxのロケーションバーに「about:cache」と入力し、リターンキーを押下すると、キャッシュ情報が参照できる。
Firefoxのキャッシュ操作の参考文献は少ないが、手がかりとしては以下のページがある。
cf. XULPlanet: XPCOM Reference: Cache
■キャッシュをまるっと消す
FF3のメニューバーで「ツール→オプション→詳細→ネットワーク→オフラインデータ」とたどり、「今すぐ消去」ボタンを押下するのとほぼ同じようなキャッシュをまるっと消す処理を拡張機能から実行できる。
/********************************************
キャッシュを全部消す
*/
//キャッシュサービスの生成
var caches = Components.classes["@mozilla.org/network/cache-service;1"].getService(Components.interfaces.nsICacheService);
//キャッシュのクリア
caches.evictEntries(Components.interfaces.nsICache.STORE_ANYWHERE);
//↑他にも個別にストレージを指定できる
//STORE_IN_MEMORY, STORE_ON_DISK, STORE_ON_DISK_AS_FILE, STORE_OFFLINE
■キャッシュを個別に消す
特定のキャッシュを指定して消すこともできる。
/********************************************
URLを指定して特定のキャッシュを消去
*/
//消したいキャッシュのURL
var uri = "http://blog-imgs-19.fc2.com/k/f/a/kfall/favicon.ico";
//キャッシュサービスの生成
var caches = Components.classes["@mozilla.org/network/cache-service;1"].getService(Components.interfaces.nsICacheService);
//キャッシュセッション(nsICacheSession)の生成
//第一引数 = "HTTP" ←ミソ。メモリ上の画像は"image"
var cs = this.caches.createSession("HTTP", Components.interfaces.nsICache.STORE_ANYWHERE, true);
cs.doomEntriesIfExpired = false;
//キャッシュエントリ(nsICacheEntryDescriptor)を取得する
//第一引数 = 消したいキャッシュのURL
var dsc = cs.openCacheEntry(uri, Components.interfaces.nsICache.ACCESS_READ_WRITE, true);
if (dsc) {
dsc.doom();
dsc.close();
cs = null;
}
■キャッシュの確認方法
Firefoxのロケーションバーに「about:cache」と入力し、リターンキーを押下すると、キャッシュ情報が参照できる。
Firefoxのキャッシュ操作の参考文献は少ないが、手がかりとしては以下のページがある。
cf. XULPlanet: XPCOM Reference: Cache
スポンサーサイト