GreaseMonkey - Button mit Greasemonkey-Javascript auf Seite einb
Griever
- javascript
Hi.
Komm ich direkt mal auf den Punkt.
Ich möchte via GreaseMonkey einen Knopf auf einer Webseite einbinden, welcher eine GreaseMonkey-Funktion aufruft.
Jedoch scheint es da ein kleines Problem zu geben, da dieser Knopf danach irgendwie immer sagt, die Funktion sei undefiniert.
Es muss ja irgend eine Möglichkeit geben, dass das funktioniert.
Die Funktion soll einen Wert in den Firefox-Einstellungen ändern. (boolean)
Und: Das Script ist lokal. Also nix, was alle Besucher der Seite betreffen würde. ;)
Kennt sich jemand damit aus?
Komm ich direkt mal auf den Punkt.
tu das.
Jedoch scheint es da ein kleines Problem zu geben, da dieser Knopf danach irgendwie immer sagt, die Funktion sei undefiniert.
Dann machst du etwas falsch.
Es muss ja irgend eine Möglichkeit geben, dass das funktioniert.
Ja, in dem du es richtig machst.
Struppi.
Ja, in dem du es richtig machst.
kannst du mir sagen, wies richtig geht?
meine idee:
var derknopp = unsafeWindow.document.createElement("input");
derknopp.type = "button";
derknopp.value = "Klick mich";
derknopp.onclick = function() {
// Explizite GreaseMonkey-Funktionen. z. b. das ändern eines in about:config befindlichen wertes.
}
unsafeWindow.document.body.appendChild(derknopp);
Der Button ist dann da, jedoch bekomme ich in der Fehlerkonsole die meldung, dass die funktionen und methoden IN dieser onclick-funktion nicht existieren. Sowie es halt eine von GreaseMonkey verwendete Funktion ist.
Das ist mein Problem.
Ja, in dem du es richtig machst.
kannst du mir sagen, wies richtig geht?
Wenn du mir sagst was du machst, vielleicht.
meine idee:
[..]
derknopp.onclick = function() {
GM akzeptiert nur addEventListener Events.
Der Button ist dann da, jedoch bekomme ich in der Fehlerkonsole die meldung, dass die funktionen und methoden IN dieser onclick-funktion nicht existieren. Sowie es halt eine von GreaseMonkey verwendete Funktion ist.
Das spielt keine Rolle, deine globalen Funktionen sind im gesamten Dokument verfügbar.
Struppi.
Danke. Damit habe ich es jetzt gelöst bekommen.
Man warum muss das denn so kompliziert sein?
Naja. Jetzt kann i wenigstens ne anständige einstellungs-seite basteln :D
Kommst du mit XUL nicht klar oder ist das jetzt ein anderes Thema?
Kommst du mit XUL nicht klar oder ist das jetzt ein anderes Thema?
Ne, Greasemonkey Skripte sind einfacher als sowas.
Struppi.
Kommst du mit XUL nicht klar oder ist das jetzt ein anderes Thema?
Ne, Greasemonkey Skripte sind einfacher als sowas.
Darum gings mir nicht - es ging mir um die das dahinterliegende Vorhaben, welches augenscheinlich das bequeme Ändern einer Firefox-Einstellung darstellt.
Kommst du mit XUL nicht klar oder ist das jetzt ein anderes Thema?
da gehts um XUL. net um Greasemonkey
xul = addons
greasemonkey = javascripts
Kommst du mit XUL nicht klar oder ist das jetzt ein anderes Thema?
da gehts um XUL. net um Greasemonkey
Schon klar - du wolltest ein Add-on schreiben mit einem Konfigurationsdialog.
Nun möchtest du ein User-JavaScript schreiben, welches eine Firefox-Einstellung ändern soll.
xul = addons
Bitte ankreuzen.
[ ] Ich habe die arbeitsweise von XUL nicht verstanden.
greasemonkey = javascripts
[ ] Ich habe nicht verstanden was Greasemonkey ist.
Nun möchtest du ein User-JavaScript schreiben, welches eine Firefox-Einstellung ändern soll.
das hab ich aufgegeben
Bitte ankreuzen.
[ ] Ich habe die arbeitsweise von XUL nicht verstanden.
*nicht ankreuz*
XUL ist die XML-Basierende implementation für die Firefox-Oberfläche.
greasemonkey = javascripts
[ ] Ich habe nicht verstanden was Greasemonkey ist.
*nicht ankreuz*
GreaseMonkey führt eigenen Javascript-Code auf einer beliebigen Seite aus.
Oder irre ich mich da grad?
Nun möchtest du ein User-JavaScript schreiben, welches eine Firefox-Einstellung ändern soll.
das hab ich aufgegeben
Also doch dasselbe Vorhaben?
Bitte ankreuzen.
[ ] Ich habe die arbeitsweise von XUL nicht verstanden.*nicht ankreuz*
XUL ist die XML-Basierende implementation für die Firefox-Oberfläche.
Und damit irgendwas an Dynamik da ist, ist JavaScript ein essentieller Teil bei schreiben von Add-ons. Mit XUL allein kommt man nicht weiter.
greasemonkey = javascripts
[ ] Ich habe nicht verstanden was Greasemonkey ist.
*nicht ankreuz*
GreaseMonkey führt eigenen Javascript-Code auf einer beliebigen Seite aus.
Richtig, Greasemonkey ist also nicht JavaScript, es führt lediglich JavaScript aus - gut, wenn mans genau nimmt machen das SpiderMonkey, TraceMonkey oder JägerMonkey.
Die sache mit dem XUL und das hier sind 2 völlig unterschiedliche sachen.
Das addon hab ich aufgegeben.
Und derzeit bastel ich an nem GreaseMonkey-Script
Was daran so schwer zu verstehn grad?
Die sache mit dem XUL und das hier sind 2 völlig unterschiedliche sachen.
Das addon hab ich aufgegeben.
Und derzeit bastel ich an nem GreaseMonkey-ScriptWas daran so schwer zu verstehn grad?
Es ist schwer zu verstehen, weil du keine vollständigen Sätze von dir gibst und davon ausgehst, dass deine Gesprächspartner wissen, wovon du redest. Und mit deiner vagen Fragestellung den Eindruck erweckt hast, dass du ein Vorhaben realisieren willst, mit XUL gescheitert bist und nun eine JavaScript-Lösung dafür suchst.
Deine Aussage war folgende:
das hab ich aufgegeben
Daraus lässt sich folgendes schließen:
"Ich habe versucht mein Problem mit XUL oder einem Greasemonkey-Script zu lösen versucht - den Lösungsweg mit XUL habe ich aufgegeben".
Alternativ ist aber auch dieser Schluss möglich:
"Ich habe zwei unterschiedliche Vorhaben - das vom einen völlig unabhängige Vorhaben im Themenbereich XUL habe ich aufgegeben."
Es trifft das 2te zu.
Um mich mal zu erklären.
Das Xul-Thematische Projekt war im grunde nur ein Addon, welches auf einer Seite, welche wir SEITE A nennen, ein Script permanent ausführen sollte. (daher wären da auch nen paar einstellmöglichkeiten via dialog sehr hilfreich). Da ich dort jedoch nicht ansatzweise weiterkam, habe ich dieses Projekt auf eis gelegt
Nun habe ich das GreaseMonkey-Projekt gestartet, was eigentlich schon fast einem Bot gleich kommt. Es führt diverse Aktionen, berechnungen und änderungen auf einem anderen Browsergame (SEITE B) durch. Z. b. berechnen von Guthaben auf einen Verbrauchszeitraum (50 $ / std z. b.) und zeigt an, welcher Zeitraum nötig ist, um das Guthaben aufzubrauchen. SEITE A hat mit SEITE B nichts zu tun.
Also ganz einfach eigentlich: das XUL-Projekt und das GM-Projekt haben nix miteinander zu tun :D
Sorry. Morgens schreib ich manchma wirres zeug. aber hoffe, das hats erstma erklärt :D