Comment insérer du texte personnalisé dans JCE v. 2.3.4.4 à l'aide de javascript?
J'ai ouvert la source de la page et vu que l'éditeur est un iframe. Le texte est en <body id="tinymce">
.
J'essayais quelque chose comme:
$("body#tinymce").html("mytext");
mais ça ne marche pas. Bien sûr, il est exécuté sur domReady.
J'ai trouvé une solution.
var id = "yourTextAreaId";
var tmce_el = tinyMCE.get(id);
if (tmce_el != undefined)
{
tmce_el.execCommand('mceSetContent', false, value);
}
else
{
document.getElementById(id).innerHTML = value;
document.getElementById(id).value = value;
}
Il existe actuellement un plugin de bouton personnalisé fourni par les créateurs de JCE ...
Je pense que le meilleur moyen est d'utiliser le Joomla.editors.instances
Vous pourrez valider que textAreaId est chargé, puis mettre à jour avec la méthode setValue
.
if (Joomla.editors.instances.hasOwnProperty('yourTextAreaId')) {
Joomla.editors.instances['yourTextAreaId'].setValue(value);
} else {
// do you custom script as fail-safe
}
J'ai testé cela avec codemirror, tinyMCE, aucun (quand aucun éditeur n'est défini) et cela fonctionne très bien.