web-dev-qa-db-fra.com

Comment extraire le contenu HTML de TinyMCE Editor

Je suis un débutant sur Javascript/TinyMCE et j'essaie de comprendre comment il est possible d'extraire le contenu HTML de l'éditeur et de le montrer avec une simple fonction alert (). 

J'ai cette configuration minimaliste sur ma page HTML:

<div id="tiny">
<script type="text/javascript">
tinyMCE.init({
        // General options
        mode : "specific_textareas",
        editor_selector : "mceEditor"
});
</script>
</div>

<form method="post" action="somepage">
        <textarea id="myarea1" class="mceEditor">This will be an editor.</textarea>
</form>

Sur le site Web de TinyMCE , ils ont expliqué que je devais utiliser ceci:

// Get the HTML contents of the currently active editor
console.debug(tinyMCE.activeEditor.getContent());

Et ici aussi 

tinymce.activeEditor.getContent()

Je ne sais pas pourquoi ça ne marche pas

Quelqu'un a une idée? 

15
Ikes

Je ne sais pas pourquoi ça ne marche pas

Ça ne marche pas parce que

console.debug(tinyMCE.activeEditor.getContent());

tinymce.activeEditor.getContent();

ces instructions ne sont pas en cours d'exécution.

Essayez de suivre ceci VIOLON ....

tinyMCE.init({
        // General options
        mode : "specific_textareas",
        editor_selector : "mceEditor"
});

Fonction pour obtenir du contenu ....

function get_editor_content() {
  // Get the HTML contents of the currently active editor
  console.debug(tinyMCE.activeEditor.getContent());
  //method1 getting the content of the active editor
  alert(tinyMCE.activeEditor.getContent());
  //method2 getting the content by id of a particular textarea
  alert(tinyMCE.get('myarea1').getContent());
}

Obtenez le contenu de l'éditeur en cliquant sur le bouton ...

<button onclick="get_editor_content()">Get content</button> 
23
yb007

Peut-être que c'est le cas? Votre variable est tinyMCE, mais vous appelez getContent() sur tinymce. JS est sensible à la casse;)

2
Miha Rekar

Je cherchais une solution et j'ai essayé quelques-uns de ce qui précède, puis je me suis penché davantage sur la documentation de tinymce et je l'ai trouvée efficace. 
Utilisation du petit mce 4

function getHTML()
{
   tinymce.activeEditor.on('GetContent', function(e) {
     console.log(e.content);
   });
}

Il suffit d'appeler cette fonction avec un clic et de voir quels sont les résultats ...
Ma source est: http://www.tinymce.com/wiki.php/api4:class.tinymce.ContentEvent

1
Joe

TinyMCE crée un iframe sous le format '#textareaid' + '_ ifr' Donc, en utilisant jquery, nous pouvons interroger le contenu HTML de la zone de texte que vous aimez

l'identifiant iframe sera votre identifiant textarea avec "_ifr" ajouté à cela. Vous pouvez donc extraire le contenu HTML de tinyMce

$('#textareaId_ifr').contents().find("html").html();
0
Sathya Narayanan