(wysiwyg) - execCommand
jonny_w
- javascript
hallo. langsam bringt mich der wysiwyg-editor den ich mir zusammengebastelt habe um den verstand, der funktioniert eigendlich recht gut. jetzt bin ich aber in der situation das ich in ein und die selbe seite den editor 2 mal gleichzeitig anzeigen lassen will/muss.
der teil wo man editiren kann ich ja eigendlich ein iframe
vtextarea[0] = frames[0].document;
vtextarea[1] = frames[1].document;
wenn ich folgendes versuchweise mach kann ich den inhalt der frames auch auslesen, ich musste als zumindest die richtigen objekte haben.
alert(vtextarea[vid].body.innerHTML);
wenn ich aber nun sagen wir mal etwas in dem frame fett formatieren will klappt das nicht und es kommen ein fehler, hier mal die funktion:
aufruf: mach(0,'bold');
function mach(vid,cmd,arg){
//alert(vtextarea[vid].body.innerHTML); // --> "der text"
//alert(vtextarea[vid]+', '+cmd+', '+arg); // --> 0, bold, undefined
vtextarea[vid].execCommand(cmd,false,arg);
}
der fehler aus der fehlerkonsole ist folgender:
Fehler: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.execCommand]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://elv.dd5900.kasserver.com/tpl/default/wysiwyg.js :: mach :: line 177" data: no]
leider hab ich keinen dunst mehr was hier los ist, ich hoffe ihr wisst mehr :)
danke
Lieber jonny_w,
ich kann Dir leider nicht mit Deinem Editor helfen.
Ich vermute, dass Du an den unterschiedlichen Lösungen zu selection und range knabberst.
Da ich in diesen Regionen keinen Schimmer habe, verwende ich schon einen "fertigen" Editor. Derer gibt es ja genügend im Netz zu finden. Meine Wahl: TinyMCE.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo,
function mach(vid,cmd,arg){
//alert(vtextarea[vid].body.innerHTML); // --> "der text"
//alert(vtextarea[vid]+', '+cmd+', '+arg); // --> 0, bold, undefined
alert(vtextarea[vid].designMode);
vtextarea[vid].execCommand(cmd,false,arg);
}
Was ergibt die von mir eingefügte Ausgabe?
der fehler aus der fehlerkonsole ist folgender:
Fehler: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.execCommand]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://elv.dd5900.kasserver.com/tpl/default/wysiwyg.js :: mach :: line 177" data: no]
Der Fehler entsteht, wenn man execCommand auf ein document anwendet, welches sich nicht im designMode="on" befindet.
viele Grüße
Axel
off, ja vielen, dank, war ein offensichtlicher fehler, das hatte ich bei der umstellung auf 2 frames nicht bedacht, vielen dank.
Hallo,
function mach(vid,cmd,arg){
//alert(vtextarea[vid].body.innerHTML); // --> "der text"
//alert(vtextarea[vid]+', '+cmd+', '+arg); // --> 0, bold, undefined
alert(vtextarea[vid].designMode);
vtextarea[vid].execCommand(cmd,false,arg);
}Was ergibt die von mir eingefügte Ausgabe?
der fehler aus der fehlerkonsole ist folgender:
Fehler: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.execCommand]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://elv.dd5900.kasserver.com/tpl/default/wysiwyg.js :: mach :: line 177" data: no]Der Fehler entsteht, wenn man execCommand auf ein document anwendet, welches sich nicht im designMode="on" befindet.
viele Grüße
Axel
Hallo,
off, ja vielen, dank, war ein offensichtlicher fehler, das hatte ich bei der umstellung auf 2 frames nicht bedacht, vielen dank.
Wirf trotzdem mal einen Blick auf Felixs Vorschlag. Spätestens wenn Du die Ergebnisinhalte Deiner IFrames aus/in unterschiedlichen Browsern verwenden willst, speziell wenn es sein kann, dass Nutzer dort etwas Vorformatiertes aus anderen Anwendungen hineinkopieren, wird es sehr aufwendig.
viele Grüße
Axel