For my Greasemonkey script, there is part of the code that should run before the page is loaded (@run-at document-start) and another part of the code that should run after the document is loaded (@run-at document-end).
Is this possible?
I'd rather not use jQuery for this.
I tried the onload event but it didn't work. I think the event cannot be attached if the document is not there yet?
window.document.onload = function(e){
alert("document.onload" );
}
To get started, install Tampermonkey. Tap its toolbar icon, and select Add a new script . An editor opens with a default script. There's a bunch of metadata at the top; fill out the @match field to control where the script will run.
While Greasemonkey supports Firefox and some other open-source browsers, Tampermonkey supports all the major browsers including Firefox, Chrome, and Safari.
Installing the Greasemonkey Extension. Click on the Firefox drop-down menu at the top left of the browser and select Add-ons. Type Greasemonkey into the add-ons search box at the top right of the browser. Find Greasemonkey in the list and click on Install.
The event you want is DOMContentLoaded. Also, that is not how to use the load event.
Here's a complete script that demonstrates the various firing times:
// ==UserScript==
// @name _Show page start event timing
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @run-at document-start
// ==/UserScript==
console.log ("==> Script start.", new Date() );
// 1ST PART OF SCRIPT RUN GOES HERE.
console.log ("==> 1st part of script run.", new Date() );
document.addEventListener ("DOMContentLoaded", DOM_ContentReady);
window.addEventListener ("load", pageFullyLoaded);
function DOM_ContentReady () {
// 2ND PART OF SCRIPT RUN GOES HERE.
// This is the equivalent of @run-at document-end
console.log ("==> 2nd part of script run.", new Date() );
}
function pageFullyLoaded () {
console.log ("==> Page is fully loaded, including images.", new Date() );
}
console.log ("==> Script end.", new Date() );
Typical results:
"==> Script start." 2014-10-09T01:53:49.323Z
"==> 1st part of script run." 2014-10-09T01:53:49.323Z
"==> Script end." 2014-10-09T01:53:49.323Z
"==> 2nd part of script run." 2014-10-09T01:53:49.385Z
"==> Page is fully loaded, including images." 2014-10-09T01:53:49.487Z
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With