JavaScript Greasemonkey etw. machen sobald display:block

Sack

Sigma Hydrae
ID: 232829
L
20 April 2006
5.162
320
Hey,
ich möchte ein Greasemonkey script schreiben, dass verhindert, dass sich eine Abfrage öffnet, ob ich noch da bin. Das ist einfach nervig, wenn sich das Javacript öffnet während ich da eigentlich was beobachte.
Vorallem wenn ich parallel auf dem 2. Bildschirm noch chatte oder so.

Ich hab mir den quelltext mal angeschaut, und festgestellt, dass dieses fenster irgendwann auf display:block; gesetzt wird.
Ich müsste Greasemonkey also sagen rufe javascript:; auf (das ist das was in dem <a href="> steht um die abfrage zu bestätigen), sobald <div id="timer" class="timer" style="display:block"> und nicht <div id="timer" class="timer"> ist.

an sich ist das klar:
Code:
// ==UserScript==
// @name           Are you still there
// @namespace      kcaS | Sack
// @description    deaktiviert die Are you still there? Frage beim beobachten eines battles
// @include        https://www.erepublik.com/en/military/battlefield/*
// ==/UserScript==

If document.getElementbyID('timer').[B]was muss hierhin?[/B] {
[B]hier müsste javascript:; aufgerufen werden. Aber wie?[/B]
}

Wie ihr seht hab ich nicht wirklich Ahnung, hab aber schon gegoogled und nichts passendes gefunden. (wahrscheinlich hab ich nach was falschem gesucht^^)

Danke für die Hilfe,
Sack
 
du könntest mit unsafeWindow und der watch-Methode arbeiten
Ich hingegen würde dir dazu raten, dass Objekt einfach zu löschen und ein neues zu erschaffen, welches dich nicht so stört (0x0px), oder alternativ die javascriptfunktion zu überschreiben ^^
 
Ah, Javascript funktion überschreiben ist ne gute idee^^ :)

HTML:
<script type="text/javascript" src="/js/jquery.blockUI.js"></script>
müsste es sein.

Kann ich die irgendwie einfach suchen (mit nem regulären Ausdruck?), und durch ' ' ersetzen?

Edit:
Wenn das eine ID hätte könnt ich es einfach so machen:
Code:
var loeschen = document.getElementById('block');
if (loeschen) {
loeschen.parentNode.removeChild(loeschen);
}
aber die hat es ja leider nicht. Gibt es da noch eine andere Möglichkeit?
 
Zuletzt bearbeitet:
ein script-tag zu löschen entfernt nicht mehr das geladene Javascript
in dem Fall würde ich dir empfehlen entweder wieder mit unsafeWindow zu arbeiten, oder wie auch immer

das div kannst du per getElementById in ne Variable holen und entfernen
 
Du kannst doch einfach hier abfragen oder?
PHP:
if(document.getElementById('timer').style.display == 'block')
und dann entsprechend handeln