[Greasemonkey] Getting script to run once the page fully loads
Edward Kawas
edward.kawas at gmail.com
Sat May 20 18:36:30 EDT 2006
Thanks, you are right.
Eddie
> -----Original Message-----
> From: greasemonkey-bounces at mozdev.org
> [mailto:greasemonkey-bounces at mozdev.org] On Behalf Of Arvid Jakobsson
> Sent: Saturday, May 20, 2006 9:49 AM
> To: greasemonkey at mozdev.org
> Subject: Re: [Greasemonkey] Getting script to run once the
> page fully loads
>
> Hi Ed.
> May be you are doing this:
>
> window. addEventListener('load', myFunction(), false);
>
> instead of this
>
> window. addEventListener('load', myFunction, false);
>
> the former will _call_ the function "myFunction" and pass its
> return value to addEventListener, while the latter will pass
> the function pointer of "myFunction" to addEventListener.
>
>
> On 5/19/06, Edward Kawas <edward.kawas at gmail.com> wrote:
> > Hi Mark,
> >
> > when I did window.addEventListener('load', my_entire_script_code,
> > false), my code actually was called before the page loaded.
> In fact, I changed the 'load'
> > to unload, blur, etc and my code was called regardless.
> >
> > When I removed the line
> > window.addEventListener('load', my_entire_script_code, false);
> >
> > The code didn't run, so I am fairly confident that that
> listener was
> > calling my code.
> >
> > Eddie
> >
> > > -----Original Message-----
> > > From: greasemonkey-bounces at mozdev.org
> > > [mailto:greasemonkey-bounces at mozdev.org] On Behalf Of Mark Pilgrim
> > > Sent: Friday, May 19, 2006 1:45 PM
> > > To: greasemonkey at mozdev.org
> > > Subject: Re: [Greasemonkey] Getting script to run once the page
> > > fully loads
> > >
> > > On 5/19/06, Jeremy Dunck <jdunck at gmail.com> wrote:
> > > > Actually, user scripts inject just before the load
> event-- on the
> > > > firefox-specific DOMContentLoaded event.
> > > >
> > > > chrome/browser.js:
> > > > GM_BrowserUI.chromeLoad = function(e) { ...
> > > > GM_listen(this.appContent, "DOMContentLoaded", GM_hitch(this,
> > > > "contentLoad")); ...
> > > > }
> > > >
> > > > GM_BrowserUI.contentLoad = function(e) { ...
> > > > if (GM_getEnabled() && GM_isGreasemonkeyable(href)) { ..
> > > > this.gmSvc.domContentLoaded({ wrappedJSObject:
> unsafeWin }); ...
> > > > }
> > > >
> > > > components/greasemonkey.js:
> > > > domContentLoaded: function(wrappedWindow) { ...
> > > > this.injectScripts(scripts, href, unsafeWin);
> > >
> > > This is all very interesting, but does not answer the original
> > > poster's question. If I understand it correctly, you want a
> > > Greasemonkey script to load *after* the page is
> completely finished
> > > loading, including all external images, etc.
> > >
> > > If so, then what you need to do is define an onload
> handler and call
> > > your main function from it, like so:
> > >
> > > function my_entire_script_code() {
> > > ... my code...
> > > }
> > >
> > > window.addEventListener('load', my_entire_script_code, false);
> > >
> > > Hope this helps.
> > >
> > > --
> > > Cheers,
> > > -Mark
> > > _______________________________________________
> > > Greasemonkey mailing list
> > > Greasemonkey at mozdev.org
> > > http://mozdev.org/mailman/listinfo/greasemonkey
> >
> > _______________________________________________
> > Greasemonkey mailing list
> > Greasemonkey at mozdev.org
> > http://mozdev.org/mailman/listinfo/greasemonkey
> >
> _______________________________________________
> Greasemonkey mailing list
> Greasemonkey at mozdev.org
> http://mozdev.org/mailman/listinfo/greasemonkey
More information about the Greasemonkey
mailing list