tinyMCE + Prototype
Michael Achmann
- javascript
hi,
ich bin gerade dabei, eine seite zu coden, in der fuer gaestebuch eintraege, comments etc. ein <textarea> mit einer tinyMCE instanz ersetz werden soll. an sich ist das ganze ja kein problem. allerdings braucht die tinyMCE library ziemlich lange zu laden, was zur folge hat, dass der user, wenn er auf die seite geht ziemlich lange eine ladende seite bekommt, was nicht sehr schoen ist. daher habe ich mir ueberlegt, die library durch einen Ajax.Request mit hilfe von prototype nach dem laden der anderen komponenten zu laden und dann zu initialisieren. doch leider klappt das ganze nicht so, wie ich mir das vorstelle. hier erstmal der code, den ich soweit geschrieben habe:
var mce = function(p)
{
var ladjs = $('jsladen');
ladjs.style.visibility = 'visible';
var Ajaxneu = new Ajax.Request(p,
{onComplete: function(transport)
{ ladjs.style.visibility = 'hidden';
tinyMCE.init({
mode : "textareas",
theme : "advanced",
language: "de",
});
}
});
}
das ganze wird mit einem "onload" im body tag gestartet und laeuft soweit ganz gut. Die textareas werden nun nich automtisch ersetzt, was auch nachvollziehbar ist. Wenn ich aber nun disen oder aehnlichen code:
function toggleEditor(id) {
var elm = document.getElementById(id);
if (tinyMCE.getInstanceById(id) == null)
tinyMCE.execCommand('mceAddControl', false, id);
else
tinyMCE.execCommand('mceRemoveControl', false, id);
}
(auch oben bei der onComplete funktion ) mit einbaue, um die felder manuell nach dem laden library auszutauschen, funktioniert das ganze nicht. wenn ich den code als eigene function nehme, und diese versuche durch einen button anzusprechen, gibt die fehler konsole nur aus "tinyMCE is not defined".
hat vll. jemand eine idee, wie ich es probieren koennte, um es zu laufen zu bringe oder eine andere methode parat? ich wuerde mich ueber jede antwort freuen und danke im vorraus
Lieber Michael,
tinyMCE
schon einmal in das dortige Forum geschaut?
Liebe Grüße aus Ellwangen,
Felix Riesterer.