This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

The loadOverlay() method loads a XUL overlay and merges it with the current document, notifying an observer when the merge is complete.


document.loadOverlay(url, observer);
A string containing the absolute URL of the overlay to load.
An object implementing nsIObserver that will be notified with a message of topic "xul-overlay-merged" when the merge is complete, or null if no observer is needed. The subject parameter of observe will implement nsIURI and will contain the URI of the merged overlay.


This API is not frozen and may change later.

Subsequent document.loadOverlay calls do not work bug 330458. You have to rely on observers to queue subsequent overlay loads.

Loading an overlay with the same URI twice is not currently supported, although it may work sometimes. There's a comment in nsXULDocument::LoadOverlay to that effect.

Note: Starting in Firefox 3.5, overlays that include script elements that import their code from anything other than chrome: URLs will fail to import the scripts; this is a fix for a security issue.

See also

Document Tags and Contributors

 Last updated by: fscholz,