openWYSIWYG - Alternative bzw. Bug-Beheben
Alex
- javascript
Hallo Leute,
ich habe mal eine Frage zu openWYSIWYG - hoffentlich kennt den jemand etwas genauer.
Ich habe mich, wo ich gerade dabei bin meine Seite etwas umzubauen dazu entschlossen, meinen selbstgebauten WYSIWYG-Editor (Kunden können damit grob gesagt etwas in ihr Profil stellen) in Rente schicken, da er nur im IE läuft...
Mit openWYSIWYG habe ich jetzt das Problem, dass man den Cursor nicht sieht, wenn man irgendwo in das Textfeld klickt. Bei einer Textarea oder auch bei meinem WYSIWYG kann man irgendwo reinklicken und dann fängt der Cursor in der ersten Zeile an zu blinken.
Dazu habe ich leider in Google keine Lösung finden können und selbst fällt mir auch nichts ein. Für den User wäre das natürlich gut den Cursor zu sehen, weil er sonnst wohl leicht verwirrt ist...
Ich würde mich also freuen, wenn jemand eine Idee hat, wie man das Problem beheben kann. Ansonsten wäre ich auch für Alternativen offen. Dabei sollte der alternative Editor ähnlich aufgebaut sein, wie der openWYSIWYG - hier ist die Einbindung sehr leicht. Man muss nur ein paar .js Dateien hochladen und kann ihn über ein kleines Kommando in alle Textareas einbinden...
Können muss der Editor übrigens nicht viel. Fett, Kursiv, Unterstrichen, Farben, Link ist alles, was erlaubt sein soll...
Noch eine zusätzliche Frage:
Ich möchte gerne einen Zähler für die Zeichenanzahl einbauen. Ich mache gerade so, dass eine Funktion initialisiert wird sobald man mit der Maus über das Formular fährt. Die Funktion ruft sich dann selbst jede Sekunde auf und schaut wie viele Zeichen schon eingegeben wurden. Bei 3 Textfeldern auf der Seite ist das natürlich für den Browser schon anstrengend, deshalb wäre es besser auf den event onkeyup zu hören und dann die Zeichen zu zählen. Nur leider habe ich keine Ahnung wo ich das aufrufen soll...?
Danke schon mal für eure Hilfe!
Gruß
Alex
Bei 3 Textfeldern auf der Seite ist das natürlich für den Browser schon anstrengend
Da würd ich mir keine Gedanken machen, das Zählen sollte keinen Rechner überfordern.
deshalb wäre es besser auf den event onkeyup zu hören und dann die Zeichen zu zählen.
Meinst du jeder keyup zählt eins hoch? Dann liegst du aber schnell falsch, spätestens wenn jemand Blöcke löscht.
Oder meinst du beim keyup startest du den Timer?
Nur leider habe ich keine Ahnung wo ich das aufrufen soll...?
Ich würd eher mit dem Fokus der Eingabefelder arbeiten. Wenn die den Fokus haben, läuft der Timer der jede Sekunde aktualisiert. Oder auch nur alle zwei.
Wenn dann der Fokus immer noch in einem Textfeld steht, wird der Timer neu gestartet.
Sonst wird er neu gestartet, wenn der Fokus neu gesetzt wird.
Andrerseits dürfte wirklich nicht viel Rechenzeit drauf gehen wenn du den Timer laufen lässt. Ein Blick in die Auslastung hilft dir.
Hallo,
ich habe mir mit dem Task Manager die Auslastung angeschaut, die ist um einiges höher als wenn die Seite nichts macht...
Ich würde sonst bei onkeyup und vielleicht uach onmouseup den Zähler starten (also nicht nur die events zählen sondern jedesmal die konkrete zeichenzahl neu berechnen...)
ICh weiß nur nicht, wo ich dieses event checken soll?
Hoffentlich kann mir noch jemand mit dem CursorProblem helfen...
Gruß
Alex
Lieber Alex,
ich habe mir mit dem Task Manager die Auslastung angeschaut, die ist um einiges höher als wenn die Seite nichts macht...
Du nimmst setInterval und lässt es eine bestimmte Funktion (nennen wir sie "countDown") von Dir ausführen (z.B. alle Sekunde). Diese Funktion benutzt eine Variable (die Du an ein Objekt hängst, oder eben global definierst), in der Du von 10 auf 0 herunterzählst. Bei jedem Erreichen der Null löst Du die Zähl-Funktion aus. Damit sollte etwa alle zehn Sekunden neu gezählt werden.
Um nun auf einen Tastendruck hin das Zählen früher auszulösen kannst Du diese besagte Variable "künstlich" auf eins setzen, was das Zählen in der nächsten Sekunde auslösen sollte.
So könntest Du die Rechenbelastung in Grenzen halten.
Im Übrigen würde ich Dir auch zu TinyMCE raten. Für den gibt es bereits passende Lösungsansätze (beachte den Kommentar des Chefentwicklers dazu!).
Liebe Grüße,
Felix Riesterer.
Wechsel zu tinymce, der ist auch einfach einzubinden und wird aktiv weiterentwickelt. Bietet dir außerdem eine brauchbare Pluginstruktur zur Umsetzung von Extrawürsten.