2012-12-14 12 views

उत्तर

42

उपयोग विन्यास पैरामीटर readonly

tinyMCE.init({ 
     ... 
     theme : "advanced", 
     readonly : 1 
}); 

यहाँ एक link to a demo है।

अद्यतन: क्या आप उन अपने संपादक में संपादन सामग्री से रोकने के लिए क्या कर सकते हैं गलत पर संपादकों आइफ्रेम शरीर के contenteditable विशेषता निर्धारित करने में है:

tinymce.activeEditor.getBody().setAttribute('contenteditable', false); 
+2

धन्यवाद, लेकिन मुझे रनटाइम पर ऐसा करने की ज़रूरत है, इस मामले में initilization –

+3

के दौरान नहीं, निम्न SO प्रश्न पर एक नज़र डालें: http://stackoverflow.com/questions/8946391/set-tinymce-editor- पैरा-बाद-प्रारंभिक – Thariama

8

Thariama के solution सभी TinyMCE textareas सेट हो जाएगा पृष्ठ पर पढ़ने के लिए।

मैग्नर मार्टवेट द्वारा सबसे अच्छा समाधान मैंने पाया है posted जो पाठों को केवल पढ़ने के लिए सेट करेगा जो केवल पढ़ने योग्य विशेषता है।

tinyMCE.init({ 
    ... 
    setup: function(ed) { 
     if ($('#'+ed.id).prop('readonly')) { 
      ed.settings.readonly = true; 
     } 
    } 
}); 
0

हो सकता है कि इस कोड को लाइन iframes का उपयोग कर दूसरों ब्राउज़रों में मदद करता है: यहाँ कोड है।

tinymce.activeEditor.getBody().contenteditable = false 

सम्मान!

0

मैं को पढ़ने की कोशिश करता हूं: 1 कमांड जब मैं इसका उपयोग करता हूं तो टूल बार गायब हो जाता है।

कैसे

tinymce.activeEditor.getBody() setAttribute ('contenteditable', false) का उपयोग करने के लिए।

+0

यह एक बहुत ही सुस्पष्ट उत्तर नहीं है; आप इसे सबसे अच्छा विस्तारित करेंगे और थोड़ा और संदर्भ देंगे। – brandonscript

24

यदि आप केवल एक संपादक है, यह काम करता है:

tinymce.activeEditor.getBody().setAttribute('contenteditable', false); 

आप कई संपादकों है, तो आप पाठ क्षेत्र की आईडी से उनका चयन करने के लिए है:

tinyMCE.get('textarea_id').getBody().setAttribute('contenteditable', false); 
+1

टेक्स्टरेरा अक्षम होने के बावजूद, इसे अभी भी टूलबार के साथ संशोधित किया जा सकता है, या बीटी सभी सामग्री का चयन करके श्वेत डबल क्लिक – Rumpelstinsk

1

आप को अक्षम करने के कर सकते हैं

tinymce.EditorManager.execCommand('mceToggleEditor', true, tinymceId); 

और फिर संपादक सक्षम करने के लिए आप फिर से इस आदेश को कॉल कर सकते हैं: इस आदेश को कहते हैं।

'mceToggleEditor' कमांड WYSIWYG मोड को टेक्स्टरेरा और संपादक उदाहरण को प्रदर्शित या छुपाकर चालू या बंद करता है। यह mceAddControl या mceRemoveControl जैसा ही नहीं है क्योंकि उदाहरण अभी भी वहां है और अनियंत्रित है, इसलिए यह विधि तेज है। उपरोक्त आदेश के लिए

लिंक: http://archive.tinymce.com/wiki.php/TinyMCE3x:Command_identifiers

0

आप @rioted द्वारा यहां इस जवाब देख सकते हैं: https://stackoverflow.com/a/34764607/1827960

मैं इसे इस्तेमाल किया इस समाधान के साथ आने के लिए:

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

संस्करण 4.3 से।आप पर एक्स केवल पढ़ने के लिए मोड

tinymce.activeEditor.setMode('readonly'); 

के लिए और डिज़ाइन मोड के लिए नीचे दिए गए कोड का उपयोग कर सकते हैं:

tinymce.activeEditor.setMode('design'); 
+2

यह 4.3.x में एकमात्र काम करने वाला समाधान भी प्रतीत होता है क्योंकि अन्य सुझाव बस काम नहीं करते हैं। –

+1

समस्या यह है कि यह न केवल संपादन को अक्षम करता है बल्कि सभी प्लगइन्स भी पूर्वावलोकन सहित, स्रोत कोड –

+1

यह एकमात्र समाधान है जो मेरे लिए काम करता है। यह प्रस्तुत सबसे साफ समाधान भी है। – BrianLegg

1

आप पूर्ण समाधान पर

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> 
      } 

     }); 

anather तरह से यह करने के लिए यदि आप server side condition जो लौट आए एचटीएमएल

tinymce.init({ 
    selector: ... , 
    .... 
    @if (ViewBag.desableEditExseptExportNumber != null && ViewBag.desableEditExseptExportNumber == true) 
    { 
     <text> 
       readonly: 1, 
     </text> 
    } 
    language: 'ar', 
    ....}); 
0

कि ASP.NET MVC उस्तरा

readonly: @(Model.Readonly ? "true" : "false") 

लिए काम करता है में निकाल दिया जाएगा, जबकि tinyMCE आरंभ है:

tinymce.init({/* put readonly setting here */});