Greasemonkey “dom destroyer” and “EventListener”
- 21. August 2010
- Kommentar schreiben
Ich habe zwei kleine Scripts geschrieben für Greasemonkey. Ich hatte immer Probleme um die richtigen DOM Elemente zu finden und anzusteuern. Der „EventListener“ Script schafft Abhilfe. Er gibt beim Aufrufen von neuen Seiten die ULR als Alert zurück. Zusätzlich zeichnet er alle Input, Select und Text Änderungen auf und gibt sie nummeriert als Alert zurück. Ein richtiger Schnüffler-Script!
Als Spass habe ich noch einen zweiten Script gemacht, welcher auf dem „EventListener“ Script basiert. Mit dem „DOM destroyer“ Script nimmt man ganze Webseiten auseinander. Man kann jedes Element per klick entfernen. Viel Spass mit diesen zwei Scripts!
Greasemonkey “EventListener” Script:
// ==UserScript==
// @name Event Listener
// @namespace *
// @include *
// ==/UserScript==
// created by pleased.ch
//
// show alerts: input, click and select events
//
// Right click: shows the current element
// Left click: normal click
// TAB: shows the dom object and gives information about inputed value
Zaehler=0;
if (Zaehler == 0) {
try {
Zaehler++;
var show= "STEP "+Zaehler+": GOTO "+window.location;
alert(show);
} catch (e) {}
}
document.addEventListener('change', function(event) {
for (var i = 0; i < document.getElementsByTagName(event.target.tagName).length; i++){
if (document.getElementsByTagName(event.target.tagName)[i] == event.target) {
Zaehler++;
var show= "STEP "+Zaehler+": document.getElementsByTagName('"+event.target.tagName+"')["+i+"].value"+" = '"+event.target.value+"';";
alert(show);
document.getElementsByTagName(event.target.tagName)[i].value= event.target.value;
event.preventDefault();
}
}
}, true);
document.addEventListener('contextmenu', function(event) {
if (event.target.tagName == "INPUT" || event.target.tagName == "SELECT") { }
else{
for (var i = 0; i < document.getElementsByTagName(event.target.tagName).length; i++){
if (document.getElementsByTagName(event.target.tagName)[i] == event.target) {
Zaehler++;
showx= "STEP "+Zaehler+": document.getElementsByTagName('"+event.target.tagName+"')["+i+"]";
alert(showx);
event.preventDefault();
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,0, 0, 0, 0,0, false, false, false, false, 0, null);
var cb = document.getElementsByTagName(event.target.tagName)[i];
var canceled = !cb.dispatchEvent(evt);
}
}
}
}, true);
Greasemonkey ”DOM destroyer” Script:
// ==UserScript==
// @name Hidden
// @namespace *
// @include *
// ==/UserScript==
// created by pleased.ch
//
// Hides every Element by a left click!
//
document.addEventListener('click', function(event) {
for (var i = 0; i < document.getElementsByTagName(event.target.tagName).length; i++){
if (document.getElementsByTagName(event.target.tagName)[i] == event.target) {
document.getElementsByTagName(event.target.tagName)[i].style.visibility="hidden";
event.preventDefault();
}
}
}, true);
Greasemonkey bei Firefox Add-ons




