MutationEvents: Eigenschaft überwachen
overdark
- javascript
0 molily0 overdark0 Axel Richter0 Overdark0 Axel Richter0 overdark
Hallo,
ich möchte eine Eigenschaft mittels MutationEvent überwachen. Von der Art her so ähnlich wie:
var Divs=document.getElementsByTagName('div')[0];
Divs.addEventListener("DOMAttrModified",Prox_OverlayBanner_Interval(), false);
nur, dass ich jetzt nicht das Objekt Div überwachen möchte, sonder ob sich die Eigenschaft "document.getElementsByTagName('div')[0].style.left" geändert hat.
Wenn ich diese aber in der Variablen Divs speicher erhalte ich einen Konvertierungsfehler.
Hat jemand eine Idee?
Hallo,
var Divs=document.getElementsByTagName('div')[0];
Divs.addEventListener("DOMAttrModified",Prox_OverlayBanner_Interval(), false);
Das müsste addEventListener("DOMAttrModified", Prox_OverlayBanner_Interval, false) heißen.
nur, dass ich jetzt nicht das Objekt Div überwachen möchte, sonder ob sich die Eigenschaft "document.getElementsByTagName('div')[0].style.left" geändert hat.
Das geht nicht. Die Änderung von .style.eigenschaft löst keinen DOMAttrModified-Event aus.
Mathias
Das geht nicht. Die Änderung von .style.eigenschaft löst keinen DOMAttrModified-Event aus.
Es muss doch irgendwie möglich sein zu überwachen, ob sich eine Eigenschaft ändert. Ist das vlt mit DocumentEvent und initMutationEvent möglich?
Hallo,
Das geht nicht. Die Änderung von .style.eigenschaft löst keinen DOMAttrModified-Event aus.
Es muss doch irgendwie möglich sein zu überwachen, ob sich eine Eigenschaft ändert.
Ja, da wo die Eigenschaft innerhalb des Programmes geändert wird, ist die Änderung bekannt. Dort kann dann die Funktion angestoßen werden, die Du bei Änderung anstoßen möchtest. Wozu sollte es da ein Event geben?
viele Grüße
Axel
Ja, da wo die Eigenschaft innerhalb des Programmes geändert wird, ist die Änderung bekannt. Dort kann dann die Funktion angestoßen werden, die Du bei Änderung anstoßen möchtest. Wozu sollte es da ein Event geben?
Ich weiß nicht genau wie du das meinst. Kannst du mal ein Beispiel geben wie ich so eine Änderung überwachen kann um dann meine Funktion abzuarbeiten?
Ich möchte ein Event auslösen, sobald die Eigenschaft style.left eines Absatzes sich ändert (wie in meinem Code Beispiel), weil besonders Overlay-Banner Werbung ihre Banner über die Seite "verschieben". Als Event Funktion möchte ich dann den Löschbefehl ausführen.
Gruß,
Overdark
Hallo,
Ich weiß nicht genau wie du das meinst.
Ich ging davon aus, dass es sich bei dem Programm, welches die Eigenschaft ändert, um Dein Program handelt.
weil besonders Overlay-Banner Werbung ihre Banner über die Seite "verschieben".
Aha, jetzt verstehe ich Deine Frage, allerdings würde ich auf solche Werbung dann eher verzichten. Eventuell würdest Du durch solche Manipulationen auch gegen den Vertrag mit dem Bannereigentümer verstoßen.
viele Grüße
Axel
Aha, jetzt verstehe ich Deine Frage, allerdings würde ich auf solche Werbung dann eher verzichten. Eventuell würdest Du durch solche Manipulationen auch gegen den Vertrag mit dem Bannereigentümer verstoßen.
Danke für deine schnelle Antwort, aber ich glaube wir reden gerade etwas aneinander vorbei. Ich möchte nur ein UserScript lokal auf meinem Rechner für Opera (oder Proxomitron) schreiben, das Werbung blocken soll. Werbeblocker wie WebWasher oder Proxomitron oder wie in diesem Fall Opera mit UserJS sind absolut legal ;)
Wenn du also eine Idee hast wie ich ein Ereignis bei Änderung der Eigenschaft auslösen kann immer her damit ;)
Gruß,
Overdark
Hallo,
Danke für deine schnelle Antwort, aber ich glaube wir reden gerade etwas aneinander vorbei. Ich möchte nur ein UserScript lokal auf meinem Rechner für Opera (oder Proxomitron) schreiben, das Werbung blocken soll.
Ja, ich hatte verstanden, Du hättest so ein Werbebanner eingebunden und das würde Dich nun nerven. Solche Fragen traten hier auch schon auf.
Werbeblocker wie WebWasher oder Proxomitron oder wie in diesem Fall Opera mit UserJS sind absolut legal ;)
Ach? ;-))
Wenn du also eine Idee hast wie ich ein Ereignis bei Änderung der Eigenschaft auslösen kann immer her damit ;)
Nein, leider habe ich die nicht.
viele Grüße
Axel