kleines Greasemonkeyscript

habvirus

Cadet 3rd Year
Registriert
Juni 2010
Beiträge
39
Ich möchte eine Textstelle makieren, diese soll dann aufgesplittet werden und in textboxen eingefügt werden. Beispiel:


1 : 2 : 3

dann makiere ich 1:2:3. danach drücke ich eine taste(z.b. 1) und dann soll der erste teil (in unserem Fall die 1) in eine Textbox in einem ANDEREN Tab kopiert werden, der zweite Teil(2) in eine andere Textbox kopiert werden und der dritte Teil(diesmal die 3) wieder in eine andere Textbox kopiert werden.

Es kann aber auch sein, dass das, was ich makiere so ausschaut:
21 : 555 : 71(also es muss immer beim Doppelpunkt gesplittet werden.)
oder so:
21:555:71

und abschließend soll noch aus einer Dropdownliste etwas ausgewählt werden und ein Button gedrückt werden.


Das ist alles sehr komplex für mich, deshalb wollte ich fragen, ob jemand so ein ähnliches Script kennt, dass ich dann schön umändern kann.

Das wäre mir sehr hilfreich!
 
naja, ich möchte eher nicht Auto it nehmen. ich möchte es direkt im Browser machen, und da ich schon ein bisschen Javascript kann möchte ich es mit Greasemonkey machen.

ich muss eigentlich nur wissen, wie ich dann bei einer makierten Textstelle und mit dem richtigen Tastendruck(z.b. 1) das aufsplitte und die aufgesplitteten zahlen in einem ANDEREN Tab in Textboxen einfüge!
 
Für welchen Browser soll das sein?
Soweit ich weiß kannst du mit Greasemonkey nicht auf andere Tabs zugreifen.

Wenn du hingegen eine Firefox Extension schreiben würdest, dann könntest du gBrowser verwenden.
Das ist auch nicht schwierig. Neben Javascript lohnt es sich einen Blick in XUL zu werfen für deine GUI Elemente.

Interessant wären auch genauere Angaben. Hat das Tab in das eingefügt werden soll immer den selben Inhalt, oder kann das etwas beliebiges sein?

Was genau willst du damit erreichen?
 
es soll für Firefox sein.
Ja, die Textbox, in die das eingefügt werden soll hat immer den gleichen Elementnamen.

ich brauche es dafür:

ich habe eine liste:
1:2:3
1:1:1
253:54:44
11:22:33

jetzt möchte ich eine textstelle makieren, zum beispiel 11:22:33. dann drücke ich irgendeine taste(damit es nicht bei jedem makieren funzt, weil manchmal möchte ich ja nur so etwas makieren.) und dann soll das ganze aufgesplittet werden in 11, 22 und 33. die 11 soll in einem anderen tab in die erste textbox geschrieben werden, die 22 in die zweite textbox und die 33 in die dritte textbox.
Dann soll noch aus einer Dropdownliste etwas ausgewählt werden(immer der gleiche Punkt aus der Dropdownliste) und anschließend soll das ganze abgeschickt werden.


ich brauche das ganze, damit ich nicht immer die zahlen eingeben muss, aus der dropdownliste etwas auswählen und anschließend den button drücken muss.
Da ist es viel einfacher, wenn ich in der liste(die ich in einem anderem tab geöffnet habe), einfach eine textstelle makiere und eine taste drücke.


kennt da jemand vielleicht so ein ähnliches script oder könnte mir das jemand machen in greasemonkey oder sonst einem Addon?
 
Das ist also ein HTML Formular?
Müssen in das Formular nur diese 3 Werte und die Auswahl rein?

Dann könntest du es dir einfach machen. Du registrierst in GreaseMonkey einen Hotkey der deine Funktion aufruft. Diese Funktion holt sich den ausgewählten Text und zerlegt ihn mit String.split(), und sendet das Formular einfach selbst als GM_xmlhttpRequest. Dafür musst du nur das Formular zuvor analysieren. Wenn das keine veränderlichen Daten erwartet, dann geht das.
 
ja, so möcht ich es machen.
kennt jemand vielleicht ein codebeispiel? also einen code, wo so etwas ähnliches ist?
 
habvirus schrieb:
ja, so möcht ich es machen.
kennt jemand vielleicht ein codebeispiel? also einen code, wo so etwas ähnliches ist?

In den Links ist fast alles was du brauchst.

Es fehlten noch:
- Ein Eventlistener für Keypress
- window.getSelection() um den Ausgewählten Text zu erhalten

Das musst du nun nur noch verstehen, und sinnvoll auf deine Anwendung übertragen. Da ist nicht kompliziertes dabei.
 
DjNDB schrieb:
Das musst du nun nur noch verstehen, und sinnvoll auf deine Anwendung übertragen.

ja, das tue ich aber leider im moment nicht.

soweit bin ich jetzt schon, doch wie splitte ich jetzt das markierte?


Code:
document.addEventListener('keypress', function(event) {	
	var key = event.which.toString(); 


switch(key) {


case "97":
window.getSelection(string.split(:))
break;
	

}
}, true);


ist das mal bis daher richtig?


und wie kann ich das ganze jetzt dort einfügen und abschicken?
 
Zuletzt bearbeitet:
Code:
document.addEventListener('keypress', function(event) {	
	var key = event.which.toString(); 


switch(key) {


case "97":
var text=window.getSelection.toString();
var textArray=text.split(":");
break;
	

}
}, true);


Ich hab's nicht getestet, aber so etwa solltest du laut Doku an das Array mit den Textteilen kommen.

Zum Absenden musst du im Quellcode oder mit WebScarab analysieren wie das Formular auf der Webseite aufgebaut ist und das als GM_xmlhttpRequest mit den gewünschten Werten nachbauen.
 
Zurück
Oben