"Events" nur lesen nicht schreiben?
Ole
- javascript
hi
ich versuche grade sowas wie einen simplen online-HTML-editor umzusezten (für eine Intranet-Lösung unter win + IE 6)
ich hab es schon so weit, das ich viele tags mit einem eigenen button einfügen kann und auch markierten text damit einschliessen kann (z.b: mit <strong>).
Nun hab ich mir gedacht, eine "zurück" funktion wäre auch ganz schön, damit man die eingefügten tags nciht von hand löschen muß, sondern einfach einen button drückt...eben STRG + Z.
nach einigen recherchen bin ich auf die aussage gestoßen:
"Leider kann man mit Javascript nur Tastatureingaben auslesen, nicht ausfuehren"
(siehe archiv http://forum.de.selfhtml.org/archiv/2000_3/t18764.htm#a95040 ff.)
ist das immernoch stand der dinge oder läßt sich zumindest der IE mitlerweile dazu "überreden"? wenn ja wie? ansätze zum lesen habe ich genügend gefunden, zum schreiben allerdings nicht. oder denke ich in die falsche richtung und es ist auch anders möglich?
thx
ole
(8-)>
Hi,
Nun hab ich mir gedacht, eine "zurück" funktion wäre auch ganz schön, damit man die eingefügten tags nciht von hand löschen muß, sondern einfach einen button drückt...eben STRG + Z.
Du meinst sicher Apfel+Z. Oder Shift+Delete, wenn ich meinen Browser so konfiguriert habe. Oder Alt+E > U, wenn ich mich durch meine Menüs hangele.
"Leider kann man mit Javascript nur Tastatureingaben auslesen, nicht ausfuehren"
Das möchtest Du auch gar nicht. Es ist nicht Dein Anliegen, eine Taste zu drücken, sondern eine Funktion zu initiieren - die unter Umständen auch per Tastendruck erreicht werden kann. Eine notwendige Abhängigkeit besteht hier aber nicht.
Cheatah
hi cheatah
Du meinst sicher Apfel+Z. Oder Shift+Delete, wenn ich meinen Browser so konfiguriert habe. Oder Alt+E > U, wenn ich mich durch meine Menüs hangele.
meine ich garantiert nicht, die sind für mich irrelevant, da das ganze wie geschrieben in einem intranet läuft in dem windows und der IE 6 genutzt werden, nicht mehr nicht weniger.
du kannst deinen browser gerne so konfigurieren wie du möchtest, das will ich dir auch nicht nehmen, allerdings wirst du egal wie eh nicht in den (zweifelahften ;)) "genuß" dieser application kommen. alle clients die diese anwendung aufrufen werden stammen aus kontrolliertem anbau.
"Leider kann man mit Javascript nur Tastatureingaben auslesen, nicht ausfuehren"
Das möchtest Du auch gar nicht. Es ist nicht Dein Anliegen, eine Taste zu drücken, sondern eine Funktion zu initiieren - die unter Umständen auch per Tastendruck erreicht werden kann. Eine notwendige Abhängigkeit besteht hier aber nicht.
ob man es nun trivial (das von mir angeführte zitat) oder technisch korrekt (so wie du) formuliert, ist fürs erste unerheblich, da mit beiden das gleiche gemeint ist.
ist es denn überhaupt möglich mit javascript das drücken der tastenkombination "STRG + Z" zu emulieren/simulieren (wie auch immer)?
so long
ole
(8-)>
Hi,
meine ich garantiert nicht, die sind für mich irrelevant, da das ganze wie geschrieben in einem intranet läuft in dem windows und der IE 6 genutzt werden, nicht mehr nicht weniger.
ah, das hatte ich überlesen, sorry.
Das möchtest Du auch gar nicht. Es ist nicht Dein Anliegen, eine Taste zu drücken, sondern eine Funktion zu initiieren - die unter Umständen auch per Tastendruck erreicht werden kann. Eine notwendige Abhängigkeit besteht hier aber nicht.
ob man es nun trivial (das von mir angeführte zitat) oder technisch korrekt (so wie du) formuliert, ist fürs erste unerheblich, da mit beiden das gleiche gemeint ist.
Nein, es sind zwei unterschiedliche Dinge :-) und damit ein Wegweiser, wonach Du suchen solltest.
ist es denn überhaupt möglich mit javascript das drücken der tastenkombination "STRG + Z" zu emulieren/simulieren (wie auch immer)?
Ich schätze nicht. Die Funktion "macheRueckgaengig()" auszuführen schon eher.
Cheatah
hi
ah, das hatte ich überlesen, sorry.
hab ich mir schon fast gedacht ;)...du hast dich bestimmt so darüber gefreut das es noch sooooo viele alternativen auf unterschiedlichsten plattformen gibt und du mir das jetzt mitteilen kannst, das du in kindlicher vorfreude diesen absatz glatt überlesen hast (ist bestimmt psychosomatischer natur :D) ;)
Die Funktion "macheRueckgaengig()" auszuführen schon eher.
ich hoffe ja nicht das die funktion "macheRueckgaengig()" vorrausetzt das ich x stadien der values der textarea vor- bzw. nachhalte.
so long
ole
(8-)>
Hi,
du hast dich bestimmt so darüber gefreut das es noch sooooo viele alternativen auf unterschiedlichsten plattformen gibt und du mir das jetzt mitteilen kannst, das du in kindlicher vorfreude diesen absatz glatt überlesen hast (ist bestimmt psychosomatischer natur :D) ;)
*ggg*
Die Funktion "macheRueckgaengig()" auszuführen schon eher.
ich hoffe ja nicht das die funktion "macheRueckgaengig()" vorrausetzt das ich x stadien der values der textarea vor- bzw. nachhalte.
"macheRueckgaengig()" sei exakt die Funktion, die der IE bei Drücken von Strg+Z ausführt. Ich vermute, es gibt ein Active-X-Control dazu, oder vergleichbaren Schotter.
Cheatah
hi,
alle clients die diese anwendung aufrufen werden stammen aus kontrolliertem anbau.
wenn du jetzt hier schon mit vergleichen aus dem bereich ackerbau und viehzucht kommst, muss ich mich kurz wundern, warum der cleint mit den schlechteren genen (ie6) nicht schon lange dank evolution von den besseren verdrängt wurde ...
ist es denn überhaupt möglich mit javascript das drücken der tastenkombination "STRG + Z" zu emulieren/simulieren (wie auch immer)?
nein, aber ich glaube das willst du auch gar nicht ...
dein einfügen von text, formatierungen etc. funktioniert doch über JS, wenn ich richtig verstanden habe - da dürfte dann strg+z doch gar keine wirkung haben, egal ob user oder JS es "drückt" - oder liege ich da falsch?
mein vorschlag: speichere dir bei jeder änderung die letzten x zustände (values der textarea?) in ein array - dann kannst du dir eine undo-funktion schreiben, die eben diese x letzten schritte auch wieder rückgängig machen kann.
gruss,
wahsaga
Hallo,
wenn du jetzt hier schon mit vergleichen aus dem bereich ackerbau und viehzucht kommst, muss ich mich kurz wundern, warum der cleint mit den schlechteren genen (ie6) nicht schon lange dank evolution von den besseren verdrängt wurde ...
Vielleicht weil die proprietären JScript-Erweiterungen den MSIE im Gegensatz zu Browsern, welche nur die standardisierten JavaScript/DOM-Befehle unterstützen, prädestinieren, um für Intranet-Webanwendungen benutzt zu werden. Microsoft hat den zusätzlichen Kram wie auch ActiveX ja gerade aus diesem Grund eingebaut, damit die Browserkomponente in zahlreichen Umgebungen genutzt werden kann, welche weit über das gewöhnliche HTTP/HTML im öffentlichen Web hinausgehen.
Mathias
hi
dein einfügen von text, formatierungen etc. funktioniert doch über JS, wenn ich richtig verstanden habe - da dürfte dann strg+z doch gar keine wirkung haben, egal ob user oder JS es "drückt" - oder liege ich da falsch?
Wenn ich STRG + Z drücke kann ich schrittweise die lezten änderungen rückgängig machen (win nt + IE 6).
die letzten x values der textarea vorzuhalten find ich (zur zeit noch ;)) etwas oversized.
dank dir
ole
(8-)>
Hallo Ole,
ist es denn überhaupt möglich mit javascript das drücken der tastenkombination "STRG + Z" zu emulieren/simulieren (wie auch immer)?
Du müsstest jede Änderung am Texteingabefeld (ich denke mal, darum geht es letztlich) protokollieren, beziehungsweise zumindest die letzte Aktion. Wenn es dir darum geht, das Einfügen von Codeschnipseln über Buttons rückgängig zu machen: Das sollte relativ einfach lösbar sein, solange keine weitere Eingabe getätigt wurde. Du kannst vermutlich die Cursorposition (über die MS-JScript-Zusätze meines Wissens) und die Stringlänge vorher und nachher auslesen, so könntest du den String im Eingabefeld an der betreffenden Stelle um die Länge des eingefügten Codes beschneiden. Aber ist es das, was du willst? Wenn du generell Eingaben, ob manuell oder über Buttons eingefügt, speichern und rückgängig machen willst, sieht es viel komplizierter aus. Du könntest immer, wenn eine Taste im Eingabefeld gedrückt wird oder eine Button-Funktion ausgeführt wird, ein Ereignis protokollieren und eine Funktion anbieten, welche den jeweils zuletzt eingegebenen Buchstaben bzw. den eingefügten Codeschnipsel löscht. Vermutlich ließe sich auch über Umwege eine Funktion basteln, welche anhand des Strings und des Protokolls Wörter oder sogar Absätze löscht. Es hängt ganz von deinen Anforderungen ab...
Grüße,
Mathias
hi Mathias
an die möglichkeit hatte ich auch schon gedacht. fand ich aber zu aufwändig...aber so wies aussieht wirds darauf hinauslaufen *seuftz*
thx
ole
(8-)>
Hallo Ole
... windows und der IE 6 ... alle clients die diese anwendung aufrufen werden stammen aus kontrolliertem anbau.
Fragt sich nur, wer den Anbau kontrolliert, Microsoft? Wenn Du "selbst kontrollierten Anbau" meinst, dann solltest Du wohl eher auf frei Plattformen wechseln. Okay, schreibt Dir ja sicher Dein Arbeitgeber vor. Meiner schreibt Linux vor *freu*.
Aber warum willst Du ein "Strg+Z" simulieren? Ist das zuviel verlangt, wenn die Benutzer die Tastenkombi selbst drücken?
Wenn ja, dann viel Spaß! Aktionen-liste und eine Beschreibung, wie das Rückgängigmachen einer bestimmten Funktion aussieht, also zu jeder (!) Funktion das Gegenstück.
mfg
Andreas Schigold
hi
Fragt sich nur, wer den Anbau kontrolliert, Microsoft? Wenn Du "selbst kontrollierten Anbau" meinst, dann solltest Du wohl eher auf frei Plattformen wechseln. Okay, schreibt Dir ja sicher Dein Arbeitgeber vor. Meiner schreibt Linux vor *freu*.
wird alles durch mich kontrolliert...diktiert von oben
Aber warum willst Du ein "Strg+Z" simulieren? Ist das zuviel verlangt, wenn die Benutzer die Tastenkombi selbst drücken?
im prinzip nicht, allerdings sind die nutzniesser dieser application nicht die Klientel die sich mit tastenkürzeln auseinandersetzt....frei nach dem motto "hier gibt es keinen button 'rückg#ngig' also sind alle änderungen permanent"...oder so ;)
Wenn ja, dann viel Spaß! Aktionen-liste und eine Beschreibung, wie das Rückgängigmachen einer bestimmten Funktion aussieht, also zu jeder (!) Funktion das Gegenstück.
ohjemine...ich glaube ich schreib doch lieben "mit STRG + Z kann man änderungen zurücknehmen" ;).
thx
ole
(8-)>
Jaja kennst Dich nicht aus wie? Hättest wohl auf der Schule besser aufpassen sollen.
Intranet-Lösung unter win + IE 6
ist das immernoch stand der dinge oder läßt sich zumindest der IE mitlerweile dazu "überreden"? wenn ja wie?
Oi,
da Du Dich im Intranet auf die Omnipräsenz des IE verlassen kannst - was spricht dagegen, den WSH einzusetzen (WshShell.SendKeys()) oder in einer Deiner Scriptsprachen eine entsprechende API-Funktion (keyb_event aus user32.dll) zu nutzen?
HTH Robert