2014-07-10 6 views
5

एचटीएमएल:जावास्क्रिप्ट लोड पर CKEditor प्लग-इन निकालें

<textarea name="Editor" class="ckeditor" id="aboutme">@Model.Content</textarea> 

जावास्क्रिप्ट:

<script> 
    config.removePlugins = 'elementspath,save,font'; 
</script> 

पृष्ठ लोड, मैं सभी CKEditor plugins.I लेकिन यह किया कोड ऊपर की कोशिश की अक्षम करना चाहते हैं जब मेरे लिए काम नहीं करो

मैं पृष्ठ के लोड पर जावास्क्रिप्ट द्वारा प्लगइन्स को कैसे हटा सकता हूं?

कोई भी मदद की सराहना करता है। धन्यवाद।

उत्तर

12

आप लोड करने के लिए प्लग इन की सूची परिभाषित कर सकते हैं (CKEDITOR.config#plugins):

config.plugins = 'wysiwygarea,toolbar,basicstyles,...'; 

लेकिन क्या आप भी मौजूदा (डिफ़ॉल्ट) प्लग इन की सूची (CKEDITOR.config#removePlugins) को प्रतिबंधित कर सकते हैं:

config.removePlugins = 'link,...'; 

दोनों विकल्पों कर सकते हैं वैश्विक स्तर पर परिभाषित किया जाना चाहिए (config.js) या किसी विशेष संपादक उदाहरण के लिए

CKEDITOR.replace('editor1', { 
    removePlugins: 'link' 
}); 

अधिक जानने के लिए आधिकारिक Setting Configuration मार्गदर्शिका देखें।

नोट: सीकेएडिटर 4.1 के बाद से, प्लगइन की उपस्थिति यह निर्धारित करती है कि उस प्लगइन से जुड़ी कुछ प्रकार की सामग्री को अनुमति या अस्वीकार किया गया है या नहीं। Advanced Content Filter के बारे में और पढ़ें। इसलिए जैसे

मैं एक CKEditor उदाहरण है कि मैं उपयोग कर रहा हूँ (jQuery के साथ) है:

+1

'संपादक 1' नाम कहां से आया है? आप उस कोड को कब चलाते हैं, क्या वह केवल तब होता है जब संपादक को पहली बार प्रारंभ किया जाता है? एक बार संपादक पहले ही लोड हो जाने पर आप प्लगइन को कैसे जोड़/हटा सकते हैं? यह 'ckeditor()' फ़ंक्शन के साथ कैसे इंटरैक्ट करता है? प्रलेखन चीजों को बहुत अच्छी तरह से समझाता नहीं है ... – SeanKendle

+2

'editor1' textarea के लिए डिफ़ॉल्ट आईडी है जिसे आप ckeditor के साथ प्रतिस्थापित करना चाहते हैं। आप इसे अपने एचटीएमएल – Acyra

+0

@ एसीरा में जो कुछ भी कर सकते हैं उसे बदल सकते हैं। मैं इसे सीकेडिटर के सभी उदाहरणों के लिए निकालना चाहता हूं जो कि बनाया जाएगा (उदाहरण के लिए सामग्री के साथ डीआईवी सामग्री "=" सत्य "जो भविष्य में सीकेडिटर बन जाएंगे जब वे क्लिक किए जाएंगे पर)। मैं उसको कैसे करू? "RemovePlugs" को सेट करने के लिए "config" नामक कोई वैश्विक चर नहीं है। उस समय तक CKEDITOR परिभाषित किया गया है, ऐसा लगता है कि बहुत देर हो चुकी है, प्लगइन पहले ही लोड हो चुका है! – Michael

2

Oleq के जवाब देने के लिए टिप्पणी में अपने खुद के सवाल का जवाब देने

window.onload = function() { 
     $ckTarget = $(".pageContentTextBox"); 
     if ($(".pageContentTextBox").length > 0) { 
      $ckEditor = $ckTarget.ckeditor({ 
       htmlEncodeOutput: true, 
       removePlugins: "link" 
      }); 
     } 
}; 

मैं सफलतापूर्वक को दूर करने में सक्षम था उस तरह से "लिंक" प्लगइन। मैं सार्वजनिक संपत्तियों "extraPlugins" और "removePlugins" के साथ एक एएसपीनेट उपयोगकर्ता नियंत्रण स्थापित करने जा रहा हूं और क्लाइंट-साइड पीले टैग ("कोड नगेट्स") का उपयोग करके मानों को सम्मिलित करने के लिए अलग-अलग पृष्ठों पर इसका उपयोग करने में सक्षम हूं प्लगइन्स सक्षम/अक्षम।

मुझे उम्मीद है कि किसी की मदद करेगा!

संबंधित मुद्दे