I am trying to make a greasemonkey script that will run the following code. I have tested it and it definitely works via URL (javascript: blah blah;) minus the comment of course:
// Your country code
var cc = 'net';
var j = document.getElementsByTagName('td');
for (i=0; i <= j.length; i++) {
if (j[[i]].innerHTML.indexOf('points - punishment #A') > 0 && j[[i]].innerHTML.length == 30) {
var k = j[[i]].innerHTML;
j[[i]].innerHTML = k.slice(0, 23) + '<a href="http://www.example.' + cc + '/admin.php?screen=affront_tool&mode=view_punishment&punishment_id=' + k.slice(25) + '">' + k.slice(23) + '</a>';
}
else if (j[[i]].innerHTML.indexOf('points - punishment #A') > 0 && j[[i]].innerHTML.length == 29) {
var k = j[[i]].innerHTML;
j[[i]].innerHTML = k.slice(0, 22) + '<a href="http://www.example.' + cc + '/admin.php?screen=affront_tool&mode=view_punishment&punishment_id=' + k.slice(24) + '">' + k.slice(22) + '</a>';
}
else if (j[[i]].innerHTML.indexOf('points - punishment') > 0 && j[[i]].innerHTML.length <= 67) {
var k = j[[i]].getElementsByTagName('a')[0];
var l = 'http://www.example.' + cc + '/admin.php?screen=affront_tool&mode=view_punishment&punishment_id=' + k.getAttribute('href').slice(19);
k.setAttribute('href', l);
}
}
Unfortunately this script works on an element of the page dynamically generated up to ten seconds after load (expect about three), which makes things difficult. I've tried numerous ways of attaching the script as an "onload" attribute to the body with a setTimeout of ten thousand ms, to no avail. Perhaps I should be trying a different method, or I've repeated a simple mistake in the process? Could someone show me how they would do it?