greasemonkey - forum, oder community gesucht
kaepten
- javascript
Hallo Forum
Ich bin schon eine Weile am googeln, aber ich hab noch nichts passendes gefunden. Gesucht wird ein Forum für greasemonkey. (Mir scheint userscripts.org nicht sehr belebt...)
Es gibt bei meinem Greasemonkey-Script ein sonderbares Problem, was ich gerne mal in einem Forum diskutiert hätte.
Vielen Dank für Tipps!
kaepten
Es gibt bei meinem Greasemonkey-Script ein sonderbares Problem, was ich gerne mal in einem Forum diskutiert hätte.
Wat willste damit? schreib'n ordentliches Bookmarklet und fertig.
Wat willste damit? schreib'n ordentliches Bookmarklet und fertig.
Ahso... davon hab ich ja noch nie gehört. Nein, ich denke das was ich da mache wäre nicht so elegant mit Bookmarklets zu erledigen.
Aber Danke für den Hinweis, nun bin ich wieder etwas gescheiter ;)
Moin,
Hallo Forum
Ich bin schon eine Weile am googeln, aber ich hab noch nichts passendes gefunden. Gesucht wird ein Forum für greasemonkey. (Mir scheint userscripts.org nicht sehr belebt...)
Es gibt bei meinem Greasemonkey-Script ein sonderbares Problem, was ich gerne mal in einem Forum diskutiert hätte.
Bitte. Frag doch. Dieses Forum dreht sich u.a. auch um JavaScript, nichts anderes ist ein Greasemonkey Script.
Vielen Dank für Tipps!
kaepten
Gruß,
Take
Bitte. Frag doch. Dieses Forum dreht sich u.a. auch um JavaScript, nichts anderes ist ein Greasemonkey Script.
Hallo, ok mach ich gerne.
Allerdings habe ich das Problem soweit eingekreist, dass es definitiv im Zusammenhang mit Greasemonkey sein muss.
Es geht um das selektieren von Text in einem input Feld. Ich möchte via JS den Text im Feld markieren/vorselektieren. Mein "natives" JS funktioniert einwandfrei (wobei ich das mit jQuery adressiere):
$('#autoSelectInput').select();
was in etwa dem hier entsprechen dürfte: document.form.autoSelectInput.select();
Wie gesagt, das läuft solange, wie ich das nicht in ein Greasemonkey-Script auslagere. Ich habe jetzt einen Tipp bekommen, dass es mit dem Wrapper etwas zu tun haben könnte, und ich es mal mit (Greasemonkey)unsafeWindow probieren solle. Das versuch ich jetzt gerade, aber mir erschliesst sich die Anwendung von unsafeWindow nicht ganz. Der Tipp war: unsafeWindow.document.form.autoSelectInput.select(); zu machen. Nun versuche ich das in meine JQuery Syntax zu übersetzen, aber irgendwie weiss ich nicht wie...
Moin,
Es geht um das selektieren von Text in einem input Feld. Ich möchte via JS den Text im Feld markieren/vorselektieren. Mein "natives" JS funktioniert einwandfrei (wobei ich das mit jQuery adressiere):
$('#autoSelectInput').select();
was in etwa dem hier entsprechen dürfte: document.form.autoSelectInput.select();
Wie gesagt, das läuft solange, wie ich das nicht in ein Greasemonkey-Script auslagere. Ich habe jetzt einen Tipp bekommen, dass es mit dem Wrapper etwas zu tun haben könnte
Was für ein "Wrapper"? Welche Fehlermeldung?
, und ich es mal mit (Greasemonkey)unsafeWindow probieren solle. Das versuch ich jetzt gerade, aber mir erschliesst sich die Anwendung von unsafeWindow nicht ganz.
Viel von Greasemonkey versteh ich nicht, aber ich glaube, du kannst erstmal _nicht_ mit Skripten auf der Originalseite interagieren (aus Sicherheitsgründen). unsafeWindow erlaubt das jetzt. (Nur Ungefähr und ohne Gewähr) :D
Der Tipp war: unsafeWindow.document.form.autoSelectInput.select(); zu machen. Nun versuche ich das in meine JQuery Syntax zu übersetzen, aber irgendwie weiss ich nicht wie...
Ich verstehe echt nicht, warum alle jetzt selbst die simpelsten sachen mit JQuery machen müssen, nur weil sie in ihrer seite für Irgendetwas anderes brauchen...
Gruß,
Take
Moin nochmal,
Ich verstehe echt nicht, warum alle jetzt selbst die simpelsten sachen mit JQuery machen müssen, nur weil sie in ihrer seite für Irgendetwas anderes brauchen...
sorry, der satz ist unverständlich, nur wegen einem wort :D :
Ich verstehe echt nicht, warum alle jetzt selbst die simpelsten sachen mit JQuery machen müssen, nur weil sie es in ihrer seite für Irgendetwas anderes brauchen...
muss es heißen.
Gruß,
Take
Hi,
Ich verstehe echt nicht, warum alle jetzt selbst die simpelsten sachen mit JQuery machen müssen, nur weil sie es in ihrer seite für Irgendetwas anderes brauchen...
Wenn man ein Framework verwendet macht es meiner Meinung nach keinen Sinn und ist eher sogar kontraproduktiv manchmal damit zu arbeiten und manchmal daran vorbei.
~dave
Das Problem ist gelöst.
Viel von Greasemonkey versteh ich nicht, aber ich glaube, du kannst erstmal _nicht_ mit Skripten auf der Originalseite interagieren (aus Sicherheitsgründen). unsafeWindow erlaubt das jetzt. (Nur Ungefähr und ohne Gewähr) :D
Richtig, unsafeWindow lässt einen direkten Zugriff auf JS Objekte zu. Warum select() nicht mit dem Greasemonkey-Wrapper läuft? Jedenfalls funktioniert es über unsafeWindow.
Ich verstehe echt nicht, warum alle jetzt selbst die simpelsten sachen mit JQuery machen müssen, nur weil sie in ihrer seite für Irgendetwas anderes brauchen...
Versteh jetzt den letzten Teil des Satzes nicht ganz, aber in meinem Fall handelt es sich um ein etwas umfangreicheres Script wo jQuery einen schönen Komfort mit sich bringt. :) Abgesehen davon wollte ich jQuery einfach auch mal kennenlerne, eben aus dem Grund weil alle selbst die simpelsten Sachen damit machen und mich das wunderte ;) Aber das fürht nun am Thema vorbei...
Vielleicht hilft es mal jemandem weiter:
unsafeWindow.$('autoSelectInput').select();
adressiert das Input Feld über jQuery und am Greasemonkey-Wrapper vorbei durch das unsafeWindow.
Falsch, Tippfehler
unsafeWindow.$('autoSelectInput').select();
JS / jQuery
unsafeWindow.$('#autoSelectInput').select();
HTML
<input type="text" id="autoSelectInput">
$('#autoSelectInput').select();
was in etwa dem hier entsprechen dürfte: document.form.autoSelectInput.select();
Nein, tut es nicht. Mit der zweiten Version sprichst du nur ein Element an, dessen Name 'autoSelectInput' ist und nicht mit einer ID, wie in der jquery Version.
Wie gesagt, das läuft solange, wie ich das nicht in ein Greasemonkey-Script auslagere. Ich habe jetzt einen Tipp bekommen, dass es mit dem Wrapper etwas zu tun haben könnte, und ich es mal mit (Greasemonkey)unsafeWindow probieren solle. Das versuch ich jetzt gerade, aber mir erschliesst sich die Anwendung von unsafeWindow nicht ganz. Der Tipp war:
... falsch. Damit hat es nichts zu tun.
Wenn du ein input hast mit der ID 'autoSelectInput', funktioniert das Folgende auch mit GM:
var el = document.getElementById('autoSelectInput');
if(el) el.select();
Struppi.
FYI:
$('#autoSelectInput').select();
was in etwa dem hier entsprechen dürfte: document.form.autoSelectInput.select();
Nein, tut es nicht. Mit der zweiten Version sprichst du nur ein Element an, dessen Name 'autoSelectInput' ist und nicht mit einer ID, wie in der jquery Version.
Doch, auch das zweite würde zuerst ein Element mit der ID ansprechen, erst danach sucht es nach einem mit diesem Namen.
DOM Level 1 definiert die namedItem-Methode einer HTMLCollection wie folgt:
“This method retrieves a Node using a name. It first searches for a Node with a matching id attribute. If it doesn't find one, it then searches for a Node with a matching name attribute”
DOM Level 2 spezifiziert für XHTML 1.0-Dokumente noch zusätzlich,
“With [XHTML 1.0] documents, this method only searches for Nodes with a matching id attribute.”
Und die in Frage stehende Notation ist ja ein Aufruf der namedItem-Methode, wenn auch ein indirekter.
MfG ChrisB
Und die in Frage stehende Notation ist ja ein Aufruf der namedItem-Methode, wenn auch ein indirekter.
OK, hatte ich nicht getestet, aber in dem Fall gab es kein Formular mit dem Namen 'form'
Denn wenn er den Weg über document.form gehen will, dann muss er tatsächlich unsafeWindow.document.form verwenden, da document.form undefiniert ist. Es geht aber tatsächlich auch mit einer ID.
Struppi.