Inhalte mittels Javascript an Eingabefeld übergeben

tluebke

Mitglied
Ich habe ein Problem bezüglich eines Eingabefeldes.
Ich habe im Internet eine Vorlage für ein Eingabefeld mittels Javascript gefunden:
WYSIWYG - verbessertes Eingabefeld

Es funktioniert mittles onLoad-Befehl. Der Inhalt wird dann in einem IFrame angezeigt.

Im Firefox funktioniert das ganze auch ohne Probleme, aber im IE kann man keine Bilder einfügen. Alle restlichen Felder funktionieren, aber wenn ich im IE die Bild-Url eingegeben habe und auf OK klicke, erscheint dieses nicht im Eingabefeld.

Gibt es eine schnelle Abhilfe, oder würdet ihr das eventuell ganz anders machen? Das Problem ist, dass der IE auf jedenfall kompatibel dafür sein muss. Ich habe leider im Internet nichts vergleichbares gefunden...
 
Moin,

ändere 2 Sachen an dem Skript.
  • diese Zeile
Code:
isIE = uagent.match('msie') && !uagent.match('opera') && (!uagent.match('msie 5.5')||!uagent.match('msie 6.'));

in das:
Code:
isIE = document.all && !window.opera;
(das Skript vom Christoph ist schon etwas älter, zu der Zeit gab es noch keinen IE8)

  • Vor jener Zeile:
Code:
ifrm.execCommand(id,false,arg);

füge jenes ein:
Code:
if(isIE)ifrm.parentWindow.focus();
kurze Erläuterung:
Das Skript funktioniert schon auch ohne Anpassungen, allerdings nur, wenn man im Editor etwas ausgewählt hat. Ist dies der Fall, scheint dem IE ein sogen. TextRange bekannt zu sein.
Tut man dies jedoch nicht, (durch das Betätigen des Buttons ist ja der Fokus vom Editor verschwunden)....scheint kein TextRange mehr gefunden zu werden, und dieser ist es, der eigentlich per execCommand() manipuliert wird.

Die einzufügende Zeile gibt dem Editor den Fokus zurück, in meinen Tests scheint dies auszureichen :)
 

Neue Beiträge

Zurück