Yes, you may use setOnLoadCallback
in lieu of $(document).ready
. There is an undocumented SECOND PARAMETER (or at least, I can't find it) that specifies when to call the callback function; possible values are "false" (default) - on the window load, or "true" - on DOM load (DOMContentLoaded). The DOM event fires once all the markup has loaded (much earlier than window.load). The window load event fires after all the images and scripts and such have finished loading.
// Very similar to $(document).ready()
google.setOnLoadCallback( OnLoad, true );
// Very similar to $(window).load()
// Same as google.setOnLoadCallback( OnLoad, false );
google.setOnLoadCallback( OnLoad );
Yes, you may use setOnLoadCallback multiple times on a single page. This is a very important undocumented feature of the AJAX API (undocumented as of this posting). Every time you call setOnLoadCallback, it stacks up all the functions to be called once the DOM or window loads.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…