The nsIDOMOfflineResourceList interface provides access to the application cache that allows web content's resources to be cached locally for use while offline. It includes methods for adding resources to and removing resources from the cache, as well as for enumerating the dynamically managed resource list.

Please add a summary to this article.
  Last changed in Gecko 1.9.2 (Firefox 3.6 / Thunderbird 3.1 / Fennec 1.0)

Inherits from: nsISupports

Method overview

void mozAdd(in DOMString uri);
boolean mozHasItem(in DOMString uri);
DOMString mozItem(in unsigned long index);
void mozRemove(in DOMString uri);
void swapCache();
void update();


Attribute Type Description
mozItems nsIDOMOfflineResourceList The list of dynamically-managed entries in the offline resource list. Read only.
mozLength unsigned long The number of entries in the dynamically managed offline resource list. Read only.
onchecking nsIDOMEventListener An event listener to be called when fetching the application cache manifest and checking for updates.
onerror nsIDOMEventListener An event listener to be called when an error occurs during the caching process.
onnoupdate nsIDOMEventListener An event listener to be called when there is no update to download.
ondownloading nsIDOMEventListener An event listener to be called when resources are being downloaded into the cache.
onprogress nsIDOMEventListener An event listener to be called periodically throughout the download process.
onupdateready nsIDOMEventListener An event listener to be called when a resource update is ready; this event is not currently used since versioned application caches aren't supported yet.
oncached nsIDOMEventListener An event listener to be called when caching is complete.
status unsigned short One of the Application cache state constants indicating the status of the application cache.


Application cache state constants

Constant Value Description
UNCACHED 0 The object isn't associated with an application cache.
IDLE 1 The application cache is not in the process of being updated.
CHECKING 2 The application cache manifest is being fetched and checked for updates.
DOWNLOADING 3 Resources are being downloaded to be added to the cache.
UPDATEREADY 4 There is a new version of the application cache available.
OBSOLETE 5 The application cache group is now obsolete.



Adds an item to the dynamically managed entries. The resource will be fetched and added to the application cache.

 void mozAdd(
   in DOMString uri
The URI of the resource to add to the list.



Returns a Boolean value indicating whether or not the specified URI represents a resource that's in the application cache's list.

Note: This method has been deprecated. You should use the mozItems attribute instead.
 void mozHasItem(
   in DOMString uri
The URI of the resource to check.
Return value

true if the resource is in the list, otherwise false.



Returns the URI of the item at the specific offset into the list of cached resources.

Note: This method is deprecated in Firefox 3.5; you should instead access the list directly using the items attribute.
 DOMString mozItem(
   in unsigned long index
The index of the cached item whose URI should be returned.
Return value

An DOMString containing the URI of the specified resource.


Removes an item from the list of dynamically managed entries. If this was the last reference to the given URI in the application cache, the cache entry is removed.

 void mozRemove(
   in DOMString uri
The URI of the item to remove from the list.


Swaps in the newest version of the application cache. The newest version of resources are updated on first refresh. This means already loaded resources should only update after a page refresh.

Note: Versioned application caches are not yet supported; this method will throw an exception.

 void swapCache();



Begins the application cache update process. This will check for a new cache manifest but will not tell the browser to use the updated cache.

 void update();


See also

Document Tags and Contributors

 Contributors to this page: teoli, jswisher, bradleymeck, Sheppy, Sephr, Jürgen Jeka, Kohei
 Last updated by: jswisher,