Chrome - Userscripte

  • Moin,

    vielleicht hat jemand das selbe Problem gehabt wie ich. Ich habe ein Script, dass in Greasemonkey in Firefox tadellos funktioniert, aber im Chrome zu früh ausgeführt wird.

    Es greift auf ein paar JS Variablen der Zielseite - diese sind in Chrome dann aber zur Ausführungszeit von dem Userscript nicht verfügbar :-/

    Hab es sogar schon mit setTimeout() als fake versucht - so wurde es auch nichts.
    Jquery's ready hat mich auch nicht weiter geführt und so langsam hab ich kein bock mehr zu googlen ^^"

    //P.S. normalerweise würde ich einfach weiterhin die Seite in Firefox nutzen und gut wärs, nur langsam nervt mich das Arbeitsspeicher handling vom Firefox und die Zielseite macht viele AJAX-Requests (Firefox besetzt nach paar Stunden 1,1gb Ram).

    Einmal editiert, zuletzt von Grevas (14. Mai 2011 um 22:56)

  • Aaaalso.

    Das Script gibt es hier: http://userscripts.org/scripts/review/71277 (ist nicht von mir)
    ist wie gesagt eigtl. für Greasemonkey.

    Chrome unterstützt von sich aus aber solche User-Scripte - nur eben etwas anders...


    In dem Fall, wird das Script ausgeführt, bevor die Website-Scripte durch sind. Was man an dieser Fehlermeldung schön sehen kann:
    Uncaught TypeError: Cannot read property 'townId' of undefined

    townId kommt von window.Game.townId (im Script uW.Game.townId )

    Von der Konsole aus, kann ich darauf zugreifen - auch wenn ich das Scripte einfach per Konsole ausführe, geht es auch. Ich glaube jegliche Erklärungen was das Script sonst macht, spielen keine Rolle ;) (nur bevor jemand zu weit denkt, dass Script ist auch im offiziellen Forum als OK gestempelt).
    Hab auch eher allgemeines Interesse an dieser Problemstellung. Hab auch ein paar andere Sachen bei denen ich mir evtl. JS einspeisen würde^^

    Hab's auch schon dreckig probiert, in dem ich das ganze durch ein verzögertes eval() jage, aber das hat auch nichts gebracht (Fehlermeldung: Uncaught SyntaxError: Unexpected token var ). Was da schiefgeht will ich auch gar nicht unbedingt untersuchen, da die Lösung auf Dauer mich nicht zufrieden stimmen würde...

    //P.S. Habe es vorher nicht so explizit beschrieben, weil auch mit diesen Informationen keiner viel weiter kommt *behaupt*. Um es auf der Zielseite zu testen, müsste man sich bei dem BG erst anmelden *g*. Ich behaupte einfach mal, dass es wohl ein eher allgemeines Problem mit Chrome Userscripten ist.

    Einmal editiert, zuletzt von Grevas (15. Mai 2011 um 00:31)

  • Was wäre, wenn du das als script das nimmst:

    Code
    $(document).ready(function() {
         var obj=window.document.createElement("script");
         obj.type="text/javascript"; // Oder was du willst
         obj.src="PFAD/ZUM/SCRIPT.js";
         window.document.head.appendChild(obj);
    });

    Das sollte eig. funktionieren.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

    Einmal editiert, zuletzt von Tobse (15. Mai 2011 um 13:35)