Greasemonkey user script

  • servus

    ich hab da eine frage.
    ich möchte ein greasemonkey userscript schreiben, dass die seite im abstand von 5 minuten neu geladen wird.

    aber

    das problem ist, nach ungefähr 60 minuten onlinezeit muss ich eine abfrage beantworten. die dieses automatische neu laden verhindern soll.

    dies wird dadurch angezeigt, dass ich nach 60 minuten nicht mehr auf der gleichen seite bin, sondern auf einer "zwischenseite", also einer seite, bei der von mir verlangt wird, einen bestimmten link zu drücken.
    drücke ich auf dieser seite nicht diesen link, sondern lasse die seite erneut neu laden, wird mein account für 6 stunden gesperrt.

    diese "stop" seite, wird dabei im browser mit dem gleichen link dargestellt, wie die seite zuvor. nur der link, und die weiterleitung, die ich drücken muss, um weitergeleitet zu werden haben ein anhängsel am link: "_weiterleitung_code_[mein - username]"

    meine frage, kann man ein script so modifizieren, dass er zuerst die seite nach links untersucht, in denen ein - *"_weiterleitung_code_[mein - username]"* auftaucht, und wenn er dies nicht findet, die seite im abstand von 5 minuten neu lädt, wenn er das aber findet automatisch diesen link drückt?

    mfg walla

  • natürlich,

    nur leider funktioniert diese erweiterung nicht so wie gewollt.

    ich möchte, dass bevor er die seite neu lädt, er die seite nach einem bestimmten link absucht, und nur wenn dieser link NICHT da ist, die seite neu lädt.
    findet er stattdessen den link, soll er diesen link nehmen und in die adressleiste kopieren.

    ich weiß inzwischen, wie man das automatische neu laden macht,

    "reload any"


    und wie man auf eine andere seite laden lässt.


    bei zweitem sogar mit einem tätigkeitsbeobachter... (gruß an dr. evil)

    aber es fehlt diese verbindung, dass er das nur macht, wenn er den link nicht auf der seite findet. und wenn er ihn findet, dass er dann den link auf der seite drückt.

    mfg[/quote]

  • ich weiß nicht, wie der Link erkannt werden kann, aber vom Prinzip müsste es denke ich in etwa so aussehen:

  • Zitat von Dr. Evil

    ich weiß nicht, wie der Link erkannt werden kann, aber om Prinzip müsste es denke ich in etwa so aussehen:
    ...

    vielen dank ...

    ich denke, dass der link mit dem befehl
    window.find (Der Text;true;false)

    gefunden werden kann.

    der müsste doch eigentlich den text auf einer seite durchsuchen, und der link wird da mit

    "Hier klicken um weitergeleitet zu werden"

    bezeichnet,

    also ich dacht da in etwa an ein

    if window.find (Hier klicken um weitergeleitet zu werden;true;false)
    ... etc

    hmm zu dem was ich da oben lese,
    const HOMEPAGE = "http://www.google.de/"; // home page
    ist die seite, auf die er neu lädt, nach 10 minuten inaktivität.

    const DELAY = 10 * 60 * 1000; // 10 minutes
    bedeutet nach 10 minuten inaktivität wird neu geladen.

    var XPATH = "//a[@href='http://www.example.com/']";
    ist die seite, mit diesem weiterleitungslink...? Hier example.com

    der rest sieht für mich nur noch wie buchstaben auf weißem hintergrund aus.
    kannst du mir dort erklären, welcher teil davon welche funktion hat, um ein wenig besser zu verstehen?

    PS, vielen dank für deine Mühe.

  • sry für doppelpost, aber ich glaube, ich bni einen großen schritt weiter.
    nachdem ich das von dr. evil nicht verstehe, hab ich mal versucht, aus dem was ich verstehe selber etwas zu basteln.

    dabei hab ich sehr stark natürlich auf die schon bestehenden dinge geachtet.

    ein bisschen erklärung,

    http://www.MEINE_INTERNETSEITE.de/user.php*=12345
    ist die seite, auf der ich dieses script aktiv haben möchte.

    http://www.MEINE_INTERNETSEITE.de/user.php*=12345_weiterleitung_code_walla
    ist der link, auf den ich drücken muss, um weiter zu surfen
    kann mir jmd sagen, ob das soweit alles richtig programmiert ist?

    einen javascriptvalidator hab ich nicht finden können, ... zumindest keinen, der mir sagt, dass er das macht.

    und wie ich jetzt diese inaktivität da einbauen kann?

    Code
    ...
      }, 30);
      function updateTime() {
        lastaction = (new Date()).getTime();
      }
      document.addEventListener("mousemove", updateTime, true);
      document.addEventListener("mousedown", updateTime, true);
      document.addEventListener("mouseup",     updateTime, true);
      document.addEventListener("keydown",     updateTime, true);
      document.addEventListener("keyup",         updateTime, true);

    mfg walla

  • so wie ich das sehe bringt window.find nichts. Denn damit bekommt man höchstens Text suchen und herausfinden, ob er auf der Webseite vorhanden ist. Den Link, bekommst du damit aber nicht.