2009-03-26 11 views
5

मैं काम करने के लिए TinyMCE प्राप्त करने की कोशिश कर रहा हूं। मैंने tiny_mce.js सहित सामान्य विधि का उपयोग करके और फिर tinymce.init (...) का उपयोग करके इसे आजमाया है और यह काम करता है। मैंने फिर tiny_mce.gzip.js + php कंप्रेसर की कोशिश की और यह काम किया लेकिन यह वास्तव में धीमा था।TinyMCE: गतिशील रूप से उन्हें लोड करने की बजाय सभी फ़ाइलों को पैकेजिंग ... संभव है?

अब मैं पहले से ही अपने सीएसएस और जेएस फ़ाइलों को एक साथ जोड़कर अपनी सभी फाइलों को एक साथ जोड़ता हूं। जावास्क्रिप्ट के मामले में वे भी कम हो जाते हैं।

दोनों ही मामलों में तो मैं जैसे URL हों और वे फ़ाइलों में से एक की एक टाइमस्टैम्प के साथ संस्करणीकृत कर रहे हैं:

/script/script.1233454569.js

जो एक PHP फ़ाइल पर रीडायरेक्ट है कि या तो सर्व एक कैश संस्करण या कैश संस्करण (यदि आवश्यक हो) बनाता है और इसे परोसता है। यह जोड़ता है हेडर समाप्त करता है और gzip संपीड़न करता है और मूल रूप से अच्छी तरह से काम करता है।

मैं इस तंत्र में छोटे mce फिट करना चाहता हूं लेकिन यह दर्दनाक साबित हो रहा है। आदेश मायने रखता है। वर्तमान में मेरे पास है:

  • tiny_mce.js
  • myscript.js (सरल विषय से)
  • default_editor.js
  • en.js (डिट्टो)

लेकिन यह आ रहा है "आप अनिर्धारित है" जिसके लिए मुझे Google पर कोई उपयुक्त उत्तर नहीं मिल सका। यह वास्तव में परेशान है। क्या इसका कोई अनुभव है?

क्या कोई अन्य संपादक पैकेजिंग के लिए अधिक उपयुक्त है जैसा मैंने ऊपर वर्णित किया है, बल्कि आपकी अपनी योजनाओं को मजबूर करने के बजाय (जो मुझे कोई अंत नहीं देता)?

उत्तर

3

मैंने एक ही चीज़ करने की कोशिश की और कोशिश करने में बहुत अधिक समय बिताया। अंत में, मैं TinyMCE द्वारा प्रदान किए गए GZip कंप्रेसर का उपयोग करने पर बस गया और मुझे आवश्यकतानुसार सीएसएस फ़ाइलों और छवियों को संयोजित करने पर केंद्रित था। समस्या यह है कि TinyMCE बड़े पैमाने पर है, यह गतिशील रूप से आवश्यक फ़ाइलों को लोड करता है, और यह मौजूदा जावास्क्रिप्ट लाइब्रेरी का उपयोग नहीं करता है, इसलिए यदि आप पहले से ही किसी भी प्रकार की लाइब्रेरी का उपयोग कर रहे हैं तो यह बहुत सारे कोड को दोहराता है। FCKEditor एकमात्र अन्य संपादक था जो मुझे लगा कि एक ही विशेषताएं और ब्राउज़र संगतता थी, लेकिन ऐसा नहीं लगता था कि यह मेरी कैशिंग योजना (जो आपके जैसा लगता है) में एकीकृत करने के मामले में कोई आसान नहीं होगा और मुझे लगता है कि लाइसेंसिंग यह मेरे लिए एक गैर विकल्प बना दिया। आप यहाँ उपलब्ध संपादकों के list देख सकते हैं, लेकिन उन दोनों को मैं इस सूची से सबसे अच्छा महसूस कर रहा था। अंत में, मैंने TinyMCE के साथ जाने का फैसला किया और मेरी टू-डू सूची में MooTools के लिए WYSIWYG संपादक बनाने को जोड़ा क्योंकि यह जावास्क्रिप्ट ढांचा है जिसका मैं अक्सर उपयोग करता हूं।

यदि आप इसे हैक करना चाहते हैं, तो मैं सुझाव देता हूं कि टिनीएमसीई की ज़रूरतों के आपके विशिष्ट कार्यान्वयन के अनुसार, प्रत्येक क्रम को गठबंधन करें, उन्हें क्रमबद्ध करें, और फिर प्रत्येक फ़ाइल को लोड करने वाले कोड को अलग करें और टिप्पणी करें। यदि आप बहादुर हैं, तो आप संयुक्त फ़ाइल को packing भी आजमा सकते हैं। यदि आप इसे काम करने के लिए प्राप्त करते हैं, तो मुझे जानना अच्छा लगेगा।

+0

काम कर मैं मूल रूप से तर्क पीछा कर रहा था (या करने की कोशिश कर) सही क्रम में फ़ाइलों की सही सूची प्राप्त करने gzip संपीड़न विधि की। हालांकि मुझे अभी भी कुछ याद आना चाहिए। यह परेशान है। मुझे इससे नफरत है जब कुछ केवल स्थिर रूप से पहले से लोड होने के लिए बहुत लचीला होता है। – cletus

+0

मैंने भी कोशिश की। उस और कोड प्रतिकृति के बीच, मैंने फैसला किया कि मेरा अंतिम समाधान मेरा खुद का लेखन होगा। एक और विकल्प के रूप में, हालांकि, आप संपादक वर्डप्रेस उपयोग में देखना चाह सकते हैं। यह * TinyMCE हो सकता है, लेकिन यह बहुत तेज़ है। – VirtuosiMedia

+0

आप प्रत्येक फ़ाइल को देखने की कोशिश भी कर सकते हैं कि gzip फ़ाइल यह देखने के लिए कॉल करती है कि क्या वे कोई अतिरिक्त फाइल लोड करते हैं (जो मुझे संदेह है कि वे करते हैं)। विशेष रूप से, tiny_mce_src.js फ़ाइल में, "फ़ाइल:" के लिए एक खोज खोज करें, जो टिप्पणियों की एक श्रृंखला का कारण बन जाएगी जो फ़ाइलों को इंगित कर सकती है। – VirtuosiMedia

3

मैं भी एक कम से कम स्क्रिप्ट में TinyMCE श्रृंखलाबद्ध की कोशिश की है, यहाँ क्या मैं इसे काम करने के लिए प्राप्त करने के लिए किया था है:

tiny_mce_src.js परिवर्तन इस पंक्ति में

...

if (n.src && /tiny_mce(|_dev|_src|_gzip|_jquery|_prototype).js/.test(n.src)) { 

या तो होना करने के लिए .. ।

if (n.src && /YourFullScriptName.js/.test(n.src)) { 

या बस स्क्रिप्ट नाम का एक हिस्सा ...

if (n.src && /ullScriptNa/.test(n.src)) { 

ऐसा नहीं है कि रेखा है जो baseurl बाहर काम करता है तो यह अन्य सभी फ़ाइलों TinyMCE की जरूरत है कि लोड कर सकते हैं है। बात यह है कि लाइसेंस के कारण हम ऐसा नहीं कर सकते हैं। मैं श्रेणीबद्ध tiny_mce.js फ़ाइल से पहले इस जोड़कर कुछ उम्मीद की क्या ज़रूरत थी ...

var tinyMCEPreInit = {base : 'tinymce/jscripts/tiny_mce/'}; 

निम्नलिखित Spocke's advice, लेकिन मुझे लगता है कि या तो काम करने के लिए प्राप्त करने के लिए नहीं कर पा रहे। एकमात्र अन्य चीज जिसे मैं सोच सकता हूं, क्योंकि हम प्रोटोटाइप का उपयोग कर रहे हैं, गतिशील रूप से छोटे _ mce.js या छोटे _ mce _gzip .js स्क्रिप्ट को लोड करना है, फिर उस टेक्स्ट क्षेत्र को प्रारंभ करें जिसे हम चाहते हैं वहां से। लेकिन मैं काम करने के लिए इसे खत्म करने से बहुत दूर हूं।

आशा इस मदद करता है,

चीयर्स,

DJDaveMark

+0

'var tinyMCEPreInit' को' window.tinyMCEPreInit' होना चाहिए – huyz

+0

var tinyMCEPreInit = {base: 'tinymce/jscripts/tiny_mce /' , प्रत्यय: '.min', क्वेरी: ''}; यह मेरे लिए काम करता है .. – TechieBrij

0

मैं Gzip कंप्रेसर शुरू और प्रतिपादन प्रक्रिया में फ़िडलर साथ अपने आप को जुड़ा हुआ।

असल में यह ब्राउज़र में जो हुआ, मैंने इसे अपनी फ़ाइल में पकड़ लिया और पैक किया।

गंदा लेकिन

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

  • कोई संबंधित समस्या नहीं^_^