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



Reply via email to