mozilla:greasemonkey-scripts

Greasemonkey-Snippets

Allgemeines

Finden von Webseitenelementen im DOM mit Hilfe von CSS-Selektoren

var table2 = document.querySelectorAll("#FileList table a b");

Finden und Modifizieren von Webseitenelementen innerhalb des DOM

for (var i = 0, row; row = table2[i]; i++) {
    var link = row.parentElement;
    var id = link.getAttribute("title").substr(4,7);
    var deskcell = link.parentElement;
    var desktext = link.innerHTML;
    var linetable = deskcell.parentElement.getElementsByTagName("td");
    var pdfcell  = linetable[6];
    var idcell   = linetable[7];
    var datacell = linetable[8];
 
    [...]
}

Textausgabe an die Webseite anfügen

Nützlich für die Fehlersuche. Ausgabe von Variablen.

function print_text (text) {
	var heading = document.createElement("pre");
	var heading_text = document.createTextNode(text);
	heading.appendChild(heading_text);
	document.body.appendChild(heading);
}
print_text(i + JSON.stringify(url));	
var table2 = document.querySelectorAll("#FileList table a b");
 
for (var i = 0, row; row = table2[i]; i++) {
	var url = row.parentElement.getAttribute("href");
	print_text(i + JSON.stringify(url));	
	GM_openInTab(url, true);
}

Nach 3 Sekunden Checkbox und "Button" anklicken

function clickSpecialSubmit () {
 
  var event = new MouseEvent('click', {
    'view': window,
    'bubbles': true,
    'cancelable': true
  });
 
  var checkbox = document.querySelectorAll("input[type=checkbox]");
  checkbox[0].dispatchEvent(event);
 
  var dlbutton = document.querySelectorAll('img[title="Download Datei"]');
  dlbutton[0].dispatchEvent(event);
 
}
 
setTimeout(clickSpecialSubmit, 3000);

Mit AJAX weitere Daten anfordern

Anders als die normale AJAX-Funktion unterliegt Greasmonkeys xmlhttpRequest nicht der Same-Origin-Direktive.

    GM_xmlhttpRequest({
    url: "http://192.168.2.54/cgi-bin/getlink.pl?dir=desk&id=" + contexttime.id,
    method: "GET",
    context: contexttime,
    onload: function(respdesk) {
        if (respdesk.responseText.substr(0,3) == 'OK ' ) {
            [...]
        },
    onerror: function(deskerr) {
        print_text(deskerr.context.id + ": Desk Error");
            [...]        
        }
});	
mozilla/greasemonkey-scripts.txt · Zuletzt geändert: 2015/09/13 14:31 von michael

Seiten-Werkzeuge