実行時に、tinymceテキストエリアを無効にするか、読み取り専用にする必要があります。
バージョン4.3.x以降では、以下のコードを読み取り専用モードで使用できます
tinymce.activeEditor.setMode('readonly');
および設計モードの場合:
tinymce.activeEditor.setMode('design');
エディターが1つしかない場合、これは機能します。
tinymce.activeEditor.getBody().setAttribute('contenteditable', false);
複数のエディターがある場合は、textareaのIDでエディターを選択する必要があります。
tinyMCE.get('textarea_id').getBody().setAttribute('contenteditable', false);
使用できます
this.getBody().setAttribute('contenteditable', false);
完全なソリューションを見てください、私のサーバー側はAsp.net MVC
です
setup: function (ed) {
ed.on('init', function () {
this.execCommand("fontSize", false, "17px");
$("html,body").scrollTop(0);
@if (ViewBag.desableEdit != null && ViewBag.desableEdit == true)
{
<text>
this.getBody().setAttribute('contenteditable', false);
</text>
}
});
返されたHTMLで削除されるserver side condition
がある場合は別の方法
tinymce.init({
selector: ... ,
....
@if (ViewBag.desableEditExseptExportNumber != null && ViewBag.desableEditExseptExportNumber == true)
{
<text>
readonly: 1,
</text>
}
language: 'ar',
....});
無効にするには、次のコマンドを呼び出します。
tinymce.EditorManager.execCommand('mceToggleEditor', true, tinymceId);
エディターを再び有効にするには、このコマンドを再度呼び出します。
'mceToggleEditor'コマンドは、textareaとエディターインスタンスを表示または非表示にすることで、WYSIWYGモードのオンとオフを切り替えます。インスタンスはまだ存在し、初期化されていないため、mceAddControlやmceRemoveControlとは異なります。したがって、このメソッドは高速です。
上記のコマンドのリンク: http://archive.tinymce.com/wiki.php/TinyMCE3x:Command_identifiers
このコード行は、iframeを使用する他のブラウザーで役立つ可能性があります。
tinymce.activeEditor.getBody().contenteditable = false
よろしく!
Readonly:1コマンドを使用しようとすると、ツールバーが消えます。
使い方
tinymce.activeEditor.getBody()。setAttribute( 'contenteditable'、false);
ASP.NET MVC Razorで機能します
readonly: @(Model.Readonly ? "true" : "false")
tinyMCEの初期化中:
tinymce.init({/* put readonly setting here */});
この回答は、@ riotedによってここで確認できます。 https://stackoverflow.com/a/34764607/182796 。
私はそれを使用してこの解決策を考え出しました:
tinymce.settings = $.extend(tinymce.settings, { readonly: 1 });
tinymce.EditorManager.editors.forEach(function (editor) {
tinymce.EditorManager.execCommand('mceRemoveEditor', false, editor.id);
//tinymce.EditorManager.editors = [];
tinymce.EditorManager.execCommand('mceAddEditor', false, editor.id);
});