I am having a hard time understanding why a script is running correctly
when a debugging *alert*() statement is present, but no longer functions
when I remove it.
Below, I have reduced the problem to its essence. On Google searches, the
script attempts to insert "Hey there!" just above the search results (div
id *sprvd*).
This works perfectly when I run a search from the Firefox search bar (which
passes the query parameters via GET). But when I run the search by first
opening Google.com, and post the query in the search box, the *Hey there! *is
not displayed... Unless I uncomment the *alert() *line, which confirms that
the script is running, then correctly shows the results preceded by
*Hey there!*(Even when *Hey there!* does not display, Firebug confirms that
the sprvd div is present.)
Why does adding an *alert()* cause the script to work? Does it have
something to do with giving more time to the page to load completely? If so
how can I do the same without an alert
*?*Would be much grateful for any insights!
// ==UserScript==
// @name Google Test
// @namespace google_test
// @description Google Test
// @include http*://www.google.*/*
// @include http*://www.google.*?*
// @version 0.1
// @grant none
// ==/UserScript==
(function() {
// alert('running')
var start_of_results = /(?=<div id="sprvd")/;
document.body.innerHTML= document.body.innerHTML.replace(start_of_results,
'hey there' + '$&' );
})();
--
You received this message because you are subscribed to the Google Groups
"greasemonkey-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/greasemonkey-users.
For more options, visit https://groups.google.com/d/optout.