Class OnloadScript

  • All Implemented Interfaces:
    PartialStateHolder, StateHolder, TransientStateHolder, ComponentSystemEventListener, FacesListener, SystemEventListener, SystemEventListenerHolder, EventListener
    Direct Known Subclasses:

    public class OnloadScript
    extends ScriptFamily
    implements SystemEventListener

    The <o:onloadScript is a component that extends the standard <h:outputScript> which will be executed in the end of the HTML body (thus when all HTML elements are initialized in the HTML DOM tree) and will re-execute its script body on every ajax request. This is particularly useful if you want to re-execute a specific helper script to manipulate the HTML DOM tree, such as (re-)adding fancy tooltips, performing highlights, etcetera, also after changes in the HTML DOM tree on ajax responses.

    You can put it anywhere in the view, it will always be relocated to the end of body.

     <o:onloadScript>alert('OnloadScript is invoked!');</o:onloadScript>

    The <o:onloadScript> is implicitly relocated to the end of the <body>, exactly like as <h:outputScript target="body"> does. So it's always executed when the entire <body> is finished populating and thus you don't need a window.onload or a $(document).ready() in there. Again, the difference with <h:outputScript target="body"> is that the <o:onloadScript> is also executed on every ajax request.

    Bauke Scholtz
    See Also: