web-dev-qa-db-ja.com

TinyMCEエディターからHTMLコンテンツを抽出する方法

私はJavascript/TinyMCEの初心者であり、エディターからHTMLコンテンツを取得して、簡単なalert()関数で表示する方法を理解しようとしています。

私は私の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>

TinyMCE Webサイト で、私はこれを使用する必要があると説明しました:

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

そして ここ

tinymce.activeEditor.getContent()

なぜ動かないのか分かりません

誰かがアイデアを持っていますか?

17
Ikes

なぜ機能しないのかわかりません

それは機能していません

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

tinymce.activeEditor.getContent();

これらのステートメントは実行されていません。

これを試してみてください [〜#〜] fiddle [〜#〜] ....

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

コンテンツを取得するための関数....

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());
}

ボタンクリックでエディターのコンテンツを取得します...

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

多分それは事実ですか?変数はtinyMCEですが、tinymcegetContent()を呼び出しています。 JSは大文字と小文字を区別します;)

2
Miha Rekar

私は解決策を探していて、上記のいくつかを試してから、tinymceのドキュメントをさらに調べてみると、これが効果的であることがわかりました。
小さなmce 4の使用4

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

onclickでその関数を呼び出し、結果が何であるかを確認してください...
私のソースは: http://www.tinymce.com/wiki.php/api4:class.tinymce.ContentEvent

1
Joe

TinyMCEは、 '#textareaid' + '_ ifr'の形式でiframeを作成するので、jqueryを使用して、好きなテキスト領域のHTMLコンテンツをクエリできます

iframe IDは「_ifr」が追加されたテキストエリアIDになります。したがって、tinyMceからHTMLコンテンツを抽出できます

$('#textareaId_ifr').contents().find("html").html();
1