2016-06-14 7 views
-2

4.3.0以降、TinyMCEにはコードスニペットを入力できるCodesampleプラグインが含まれています。 これは、ブラウザで直接実行されていないJava、PHP、C#などの言語ではうまく機能します。コードスニペットをサーバーに保存し、ブラウザーに戻して編集し、サーバーに再度保存します。面倒なことはありません。タグTinyMCEでコードサンプルプラグインを使用すると削除されます

HTML、JavaScript、またはXMLで行いたい場合は、コードスニペットをサーバーに保存してからブラウザに読み込むことができないようです。 ほとんどのタグは、前に既にエンコードされていますが、削除されます。

TinyMCE Fiddle 1およびTinyMCE Fiddle 2を参照してください。

アイデア?事前に多くの感謝!

+0

'codesample'が選択リストに記載されている言語をサポートしています)を見出し最初のレベルとしてレンダリング - あなたはそれのためにサポートされる言語ではありませんXSLをロードしているように見えますプラグイン。あなたの例をサポートされている言語であるHTMLに変更するこの修正されたフィドルを見てください:http://fiddle.tinymce.com/50faab/1 –

+0

@MichaelFrominあなたの努力に感謝します!私が見る限り、HTML、JavaScript、XML/XSLのいずれに対しても同じ効果が見られます。これを説明するために、私はさらに、いくつかのHTMLコードを使ってFiddleを採用しました:http://fiddle.tinymce.com/50faab/2(特に中間のテキストエリアを見てください)Thnx! – ikellenberger

答えて

1

以前にデータベースに保存されたTinyMCEにコンテンツをリロードする場合は、TinyMCEのJavaScript APIを使用して、エディタの初期化後にデータをロードします。私はあなたがこれをやる方法を示すためにフィドルを作成しました。この例では

http://fiddle.tinymce.com/50faab/3

前editからTinyMCEのから出てくるだろうコンテンツがtheContent変数である:

var theContent = '<pre class="language-markup"><code>&lt;ul&gt;&lt;li&gt;one&lt;/li&gt;&lt;li&gt;two&lt;/li&gt;&lt;/ul&gt;</code></pre>'; 

(実際のアプリケーションでは、もちろんからこれをつかむだろう

次に、setContent用のTinyMCE APIを使用して、読み込まれたコンテンツをTinyMCEに追加します。

このページは、機械翻訳ソフトウェア、ここをクリックして英語版を得ることができます。
setup: function (editor) { 
    editor.on('init', function() { 
    var theContent = '<pre class="language-markup"><code>&lt;ul&gt;&lt;li&gt;one&lt;/li&gt;&lt;li&gt;two&lt;/li&gt;&lt;/ul&gt;</code></pre>'; 
     this.setContent(theContent); 
    }); 
} 

このようにすると、エディタは(Fiddleのように)コードサンプルコンテンツを適切に構文解析します。

<textarea>最も単純なHTML以外のものがあればタグとHTMLは難しい組み合わせなので、HTMLを直接<textarea>にドロップしないようにします。

+0

ありがとうございました! 実際には、すべてのプログラムコードを1行に収めたコードスニペットを貼り付けることはめったにありません。ですから、正しい位置に改行を挿入する必要があります。修正されたフィドルを見てください:[リンク] http://fiddle.tinymce.com/50faab/5 – ikellenberger

0

forum of TinyMCEでフェリックスRiestererの答えは同様助けになるかもしれません:<>と「適切にこれらの理由< >と"としてエンコードする必要があります

はい、方法で私が指摘しました文字はHTMLコンテキストでは特別な意味を持っていますので、仕様に準拠したい場合は、TinyMCEがそれに応じて変換する必要があります。私は&(アンパサンド)がeである必要があることを忘れていました&として同様にncodedされます。

ものをダブルエンコードする必要があるかもしれません:あなたが ""を参照したい場合は、& lt; h1 & gt;をコーディングする必要があります。 HTMLコードはプレーンテキストとしてレンダリングされます。その背後にある論理は次のようなものです:

1。コンテンツは、生のテキストにデコードされます(& LTは、<、&アンプに変換されます; &となる)

2.rawテキストエディタの内容(& LTの元のHTMLコードとして扱われます。H1 & GT; <としてレンダリング> H1、H1 < >が唯一のプラグイン

関連する問題