Hello everybody. I'm using the following code to determin when the document
loading finishes:
// nsIWebProgressListener child
function tvWebProgressListener() {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
this.documentIsLoaded = false;
}
tvWebProgressListener.prototype = {
QueryInterface: function(aIID) {
netscape.security.PrivilegeManager.enablePrivilege(Tivella_MME.privileges);
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference))
return this;
throw Components.results.NS_NOINTERFACE;
},
onStateChange: function(aWebProgress, aRequest, aStateFlags, aStatus) {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if ((aStateFlags &
Components.interfaces.nsIWebProgressListener.STATE_STOP) ==
Components.interfaces.nsIWebProgressListener.STATE_STOP)
this.documentIsLoaded = true;
}
};
webProgress =
Components.classes["@mozilla.org/docloaderservice;1"].getService(
Components.interfaces.nsIWebProgress);
webProgressListener = new tvWebProgressListener();
webProgress.addProgressListener(webProgressListener,
Components.interfaces.nsIWebProgress.NOTIFY_STATE_WINDOW);
And everything works OK. But after the moment when documentIsLoaded == true
during some time
coordinates of some DOM elements are not correct (for example for image
maps). I think that some time is spending for
page rendering. What observer should I use to determin the moment of
RENDERING finish?
Thank you in advance,
Michael