Firefox用の拡張機能でページのサイズを取得したい。以前、私はこのコードを使用しました:
var pageSize = null,
cacheService = Components.classes["@mozilla.org/network/cache-service;1"].getService(Components.interfaces.nsICacheService),
httpCacheSession = cacheService.createSession("HTTP", 0, true),
cacheEntryDescriptor;
httpCacheSession.doomEntriesIfExpired = false;
cacheEntryDescriptor = httpCacheSession.openCacheEntry(content.document.location.toString().replace(/#.*$/, ""), Components.interfaces.nsICache.ACCESS_READ, false);
if ( cacheEntryDescriptor ) {
pageSize = Math.round(cacheEntryDescriptor.dataSize / 1024 * 100) / 100;
}
しかし、ブラウザを更新した後、次のエラーが発生します。
NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsICacheSession.openCacheEntry]
列をなして:
cacheEntryDescriptor = httpCacheSession.openCacheEntry(content.document.location.toString().replace(/#.*$/, ""), Components.interfaces.nsICache.ACCESS_READ, false);
この問題を解決する方法は?