मैं TinyMCE के लिए एक प्लगइन लिख रहा हूं और मैं संपादित किए जा रहे दस्तावेज़ पर कुछ हेरफेर करने के लिए jQuery का उपयोग करना चाहता हूं।एक TinyMCE प्लगइन में jQuery का उपयोग करें
मैं एक तरह से jQuery (जैसे एक .tinymce() एक चयनकर्ता पर विधि) के साथ TinyMCE का उपयोग करने के लिए नहीं देख रहा हूँ, मुझे पता है कि के लिए समाधान कर रहे हैं।
असल में मुझे TinyMCE द्वारा उत्पन्न आईफ्रेम में jQuery शामिल करने की आवश्यकता है।
tinymce.dom.ScriptLoader मूल विंडो में लोड होने लगता है, आईफ्रेम में नहीं, इसलिए यह कोई विकल्प नहीं है।
क्या मैं अब तक की कोशिश की है: ScriptLoader के माध्यम से माता पिता और प्लगइन संदर्भ में
- लोड jQuery (उत्तरार्द्ध बिल्कुल कोई प्रभाव नहीं है, गलत संदर्भ में पूर्व लोड यह)
- विंडो.parent। $, जो अपरिभाषित है (भले ही यह पैरेंट विंडो में लोड हो)
- RTFM'ing और googling लेकिन कोई प्रासंगिक हिट नहीं है। यदि प्लगइन एक संवाद खोलता है तो अतिरिक्त जावास्क्रिप्ट लोड करने का एक विकल्प होता है, लेकिन यह भी मुझे नहीं चाहिए।
कोई भी TinyMCE प्लगइन में jQuery का उपयोग कर रहा है? कैसे?
अपडेट/solutution
Thariama के सुझाव के लिए धन्यवाद मैं इस काम करने के लिए प्राप्त करने में सक्षम था। आप या तो संपादक को प्राप्त करने के लिए एक स्पष्ट tinymce.get() का उपयोग कर सकते हैं, या 'एड' इंस्टेंस जो आपके प्लगइन की init() विधि में पास हो गया है। यह पता चला है कि इनिट चरण में ही आप माता-पिता को इस तरह से एक्सेस नहीं कर सकते हैं। आप इसे एक विशिष्ट हैंडलर में कर सकते हैं।
उदा।
(function($) {
tinymce.create('tinymce.plugins.SOSamplePlugin', {
init: function(ed, url) {
$ = ed.getWin().parent.jQuery; // <- WON'T WORK!
ed.addCommand('soCmd', function(ui, v) {
if(e = ed.selection.getNode()) {
$ = ed.getWin().parent.jQuery; // <- WORKS!
$(e).wrap('<div class="sample" />');
ed.execCommand("mceRepaint");
}
});
ed.addButton('SO', {
title: 'Title',
cmd: 'soCmd',
image: 'somebutton.png'
});
},
getInfo: function() {
return {
longname: 'Example Plugin',
author: 'Ivo',
authorurl: 'http://vanderwijk.info/',
infourl: 'http://vanderwijk.info',
version: '1.0'
};
}
});
tinymce.PluginManager.add('so', tinymce.plugins.SOSamplePlugin);
})($);
धन्यवाद काम करता है! यह getWin() और/या इसे कॉल करने के लिए उचित चरण का संयोजन है - पोस्ट में अपडेट देखें। –