मैं क्लाउड होस्टेड एलएमएस को जावास्क्रिप्ट के साथ विस्तारित कर रहा हूं। इसलिए, हम पृष्ठ पर जावास्क्रिप्ट जोड़ सकते हैं, लेकिन विभिन्न घटकों के लिए विक्रेता जावास्क्रिप्ट को संशोधित नहीं कर सकते हैं।TinyMCE में इनिट के बाद टूलबार संशोधित करने का उचित तरीका
एलएमएस अक्सर tinyMCE का उपयोग करता है। लक्ष्य प्रत्येक tinyMCE संपादक के टूलबार पर एक नया बटन जोड़ना है।
समस्या यह है कि चूंकि छोटे एमसीई मॉड्यूल विक्रेता के अस्पृश्य कोड में प्रारंभ किए जाते हैं, इसलिए हम init() कॉल को संशोधित नहीं कर सकते हैं। इसलिए, हम init() ऑब्जेक्ट की "टूलबार" प्रॉपर्टी पर कोई भी टेक्स्ट नहीं जोड़ सकते हैं।
तो मैं एक मामूली hacky तरीके से इस पूरा किया:
tinyMCE.on('AddEditor', function(e){
e.editor.on('init', function(){
tinyMCE.ui.Factory.create({
type: 'button',
icon: 'icon'
}).on('click', function(){
// button pressing logic
})
.renderTo($(e.editor.editorContainer).find('.mce-container-body .mce-toolbar:last .mce-btn-group > div')[0])
});
});
तो यह काम करता है, लेकिन यह कहना मैं पूरी तरह आराम से डोम में इस तरह के एक विशिष्ट स्थान देखने के लिए उस तरह डालने के लिए होने नहीं कर रहा हूँ अनावश्यक बटन। यद्यपि यह काम करता है, मुझे विश्वास नहीं है कि यह इस तरह इस्तेमाल करने के लिए निर्माता का इरादा था।
प्रारंभ करने के बाद, टूलबार में बटन जोड़ने का कोई उचित तरीका है, अगर हम प्रारंभिक कोड को संशोधित नहीं कर सकते हैं?
मैं जोड़ने के बारे में यकीन है कि यकीन नहीं है बटन बाद में, लेकिन आप प्रारंभिक init को अनइंड कर सकते हैं और सबकुछ खुद को दोबारा जोड़ सकते हैं। तो ऐसा होगा जैसे आप इनिट चलाते हैं। इससे लोडिंग समय बढ़ जाएगा, लेकिन आपको जो चाहिए वो देना चाहिए। – Chris