2009-04-15 6 views
8

या वहां हैं?फ्लैश/सिल्वरलाइट/जो भी हो, में WYSIWYG समृद्ध टेक्स्ट एडिटर्स क्यों नहीं हैं?

डेस्कटॉप सॉफ़्टवेयर डेवलपर बिंदु दृश्य (जैसा कि संभवतः, वेब डेवलपर के विपरीत) से, समृद्ध वेब एप्लिकेशन प्लेटफ़ॉर्म, जैसे फ्लैश या सिल्वरलाइट, वेब के लिए WYSIWYG टेक्स्ट एडिटर करने के लिए बेहतर टूल की तरह दिखते हैं। वे अधिक परिष्कृत इनपुट/आउटपुट, डेटा प्रस्तुति इत्यादि के लिए सक्षम हैं, और वे ब्राउज़र और प्लेटफार्मों के माध्यम से सुसंगत हैं (ठीक है, शायद सिल्वरलाइट और मूनलाइट नहीं हो सकता है, लेकिन कम से कम फ़्लैश लगता है)।

फिर भी, डेवलपर्स जावास्क्रिप्ट/डोम/एचटीएमएल/सीएसएस के साथ अपनी सभी असंगतताओं, मतभेदों, हर विशिष्ट क्विर्क के आसपास काम करने के लिए परिश्रम करने और इन तकनीकों को करने के लिए कई हैक्स का उपयोग करके, शायद कभी नहीं, मूल रूप से करने में सक्षम होना चाहिए।

कुछ आम तौर पर स्वीकार किए गए तर्क हैं कि आपको वेबसाइट के लिए फ्लैश का उपयोग क्यों नहीं करना चाहिए, साथ ही साथ आम तौर पर स्वीकार किए गए अपवाद: एम्बेडेड वीडियो प्लेयर। एक समृद्ध पाठ संपादक अलग कैसे है? "एक फ्लैश कंट्रोल इसके अलग सैंडबॉक्स में रहता है" - इसलिए, सार्वभौमिक रूप से, WYSIWYG संपादक करता है; "फ्लैश कंट्रोल का पाठ सर्च इंजन द्वारा अनुक्रमित नहीं किया जा सकता है" - जो किसी भी संपादक की कभी भी बदली हुई सहेजी गई सामग्री को अनुक्रमणित करने की परवाह करता है, वैसे भी; "सभी उपयोगकर्ताओं के पास फ़्लैश स्थापित नहीं हो सकता है" - इसलिए उनमें से सभी को जावास्क्रिप्ट सक्षम नहीं किया जा सकता है, या तो।

तो, यहां सवाल यह है कि: WYSIWYG संपादक को लागू करने के लिए फ्लैश पर जावास्क्रिप्ट चुनने के क्या फायदे हैं? अन्यथा चुनने के नुकसान क्या होंगे?

उत्तर

3

फ़्लैश लोगों पर एक जावास्क्रिप्ट लागू आरटीई संपादक के मुख्य लाभ कर रहे हैं:

  • आप
  • अधिकांश लोगों को उपयोग करने के लिए JavaScript बंद है
  • वे हैं नहीं है फ़्लैश प्लेयर की जरूरत नहीं है आम तौर पर अमीर और बेहतर क्षमता
  • अतिरिक्त एम्बेडेड तालिकाओं की तरह छवियों सुविधाओं, है और वीडियो की पेशकश की जा सकती है
  • वे जनसंपर्क के लिए तैयार एचडीएमएल आउटपुट

क्या आप इस संपादक को स्वयं बनाना चाहते हैं? चूंकि आम तौर पर बोलते हैं, आज जावास्क्रिप्ट में wysiwyg संपादकों के लिए उपलब्ध विकल्प बहुत अच्छे हैं। उदाहरण के लिए जांचें: fckeditor और tinymce। वे सभी रिलीज के साथ सभी प्रभावशाली और सुधार कर रहे हैं और परिदृश्यों की एक विस्तृत श्रृंखला में लागू किया जा सकता है

इन चीजों के निर्माण के लिए अधिकांश आधुनिक ब्राउज़रों में डिज़ाइनमोड/कंटेंटेडेबल divs और iframes के माध्यम से काफी अच्छा समर्थन है। फ्लेक्स 3 केवल ठीक है RichTextEditor के साथ आता है जो नौकरी करेगा लेकिन वह सब अच्छा नहीं है।

+0

एचटीएमएल के लिए उत्पादन करते हैं - क्या यह वास्तव में तैयार है? क्या एक आरटीई का एक HTML आउटपुट लिखा है, आईई हमेशा एफएफ या ओपेरा के साथ संगत होगा? – Headcrab

+0

यह मुख्य रूप से FCKeditor का उपयोग करके मेरा अनुभव रहा है, कि इसका आउटपुट HTML सभी मौजूदा ब्राउज़रों पर सही ढंग से प्रस्तुत करता है। FCKeditor IE5.5 पर भी काम करने के लिए purports, मैं आईई 6 –

+0

से पहले कुछ भी नहीं करता ठीक है, तो उन्होंने HTML आउटपुट पर भी काम किया है। मेरी प्रेरणा के लिए, मैं एक त्रुटि-चिह्न प्रणाली बनाने की कोशिश कर रहा था, जो शिक्षक अपने छात्र के होमवर्क के साथ क्या करता है, उन्हें लाल स्याही के साथ चिह्नित करता है। यहां एक बहुत ही प्रारंभिक प्रोटोटाइप है: http://blog1.nuigurumi.webfactional.com/entry_id=0&action=show (केवल एफएफ में काम करता है, देखने के लिए माउस के साथ कुछ पाठ का चयन करें, यह कैसे काम करता है)। – Headcrab

2

सिल्वरलाइट के लिए, (इस

http://www.vectorlight.net/controls/rich_textblock.aspx

+0

ओपनसोर्स प्रोजेक्ट [क्लिपफ्लैयर] (http://ClipFlair.codeplex.com) पर सिल्वरटेक्स्ट घटक भी शामिल है। एक माइक्रोसॉफ्ट नमूना ऐप के आधार पर, लेकिन एक घटक बनाया और बढ़ाया –

0

मुख्य कारण आप जावास्क्रिप्ट में वेब पर उनमें से ज्यादातर को खोजने के ज्यादातर आर्थिक, सबसे साइटों है कि उपयोगकर्ता शाब्दिक इनपुट की आवश्यकता है पर एक नज़र डालें ब्लॉगों, मंचों की तरह या stackoverflow) एचटीएमएल/जावास्क्रिप्ट में बनाया गया है। तो जब आपके पास 99% साइट बनाने में सक्षम जेएस प्रोग्रामर हैं, तो फ्लैश प्रोग्रामर को अन्य 1% बनाने के लिए क्यों लाएं।

लेकिन इसका मतलब यह नहीं है कि वे मौजूद नहीं हैं! अधिक लोकप्रिय स्टॉक फ्लैश साइटों में से एक पर त्वरित खोज 3:

RTE1 | RTE2 | RTE3

और यह सिर्फ FlashDen पर था। FlashComponents.net या UltraShock.com खोजें, या यहां तक ​​कि बस इसे Google करें और मैं आपको गारंटी देता हूं कि बिक्री के लिए या मुफ्त डाउनलोड के लिए बहुत कुछ हैं।

3

मुख्य कारण (मुझे लगता है) यह है कि जावास्क्रिप्ट (designMode) का उपयोग कर ब्राउज़र में समृद्ध HTML संपादन करने के लिए एक तैयार आधार है। यह माइक्रोसॉफ्ट द्वारा आईई 5.5 (जहां तक ​​मुझे याद है) में शुरू किया गया था और फिर मोज़िला/फ़ायरफ़ॉक्स, फिर ओपेरा और फिर सफारी द्वारा उठाया गया था। ब्राउज़र एचटीएमएल डोम पेड़ को पकड़ने का ख्याल रखेगा, जिससे आप नेविगेट कर सकते हैं और इसे संशोधित कर सकते हैं। आप ब्राउज़र में लगभग कोई जावास्क्रिप्ट कोड के साथ एक मूल (और पूरी तरह से मंद लेकिन अभी भी) HTML wysiwyg बना सकते हैं। और फिर आप उस पर विशेषताओं का निर्माण कर सकते हैं (आधुनिक जावास्क्रिप्ट wysiwygs के अधिकांश क्या किया है)।

फ्लैश/सिल्वरलाइट डेवलपर को स्क्रैच से शुरू करना होगा और इन सभी चीजों को लागू करना होगा। और माइक्रोसॉफ्ट/मोज़िला/ओपेरा/आदि में टीमों के साथ इस क्षेत्र में प्रतिस्पर्धा करना मुश्किल है।

1

तकनीकी रूप से बोलने में कुछ भी नहीं है कि आप इस कार्य को मूल आरटीएफ क्षमताओं के बहुमत के रूप में नहीं कर सकते हैं - दृश्य जो है - जगह पर हैं। हालांकि सीमाएं हैं, उदाहरण के लिए स्वचालित छवि/टेक्स्ट रीफ्लो (यानी यदि आप एक छवि असाइन करते हैं और टेक्स्ट को इसके चारों ओर लपेटना चाहते हैं, तो यह कुछ हद तक गणित + स्ट्रिंग + रेगेक्स मैनिपुलेशन का मामला है।

आप भी इसका उपयोग कर सकते हैं रेंडर विंडो को छोड़कर सब कुछ के लिए सिल्वरलाइट (टूलबार इत्यादि, जो लापता आइकन के साथ मदद करेगा और आज जेएस ऑफ़र की तुलना में अपवाद हैंडलिंग पर अधिक सीमित नियंत्रण प्रदान करेगा)। इससे आपको WYSIWYG विंडो का उपयोग करने में सक्षम बनाया जाएगा (जो टैप कर रहा है वास्तव में ब्राउज़र सभी अन्य जरूरतों के लिए इंजन में ही) और सिल्वरलाइट प्रतिपादन।

हम कैसे हम भविष्य के संस्करणों में इस कार्यक्षमता तो यह बहरा कान पर गिरने नहीं कर रहा है सक्षम कर सकते हैं ढूंढ़ रहे हैं।

स्कॉट बार्न्स/रिच प्लेटफॉर्म उत्पाद प्रबंधक/माइक्रोसॉफ्ट।

1

जावास्क्रिप्ट आरटीई के एक वेब मानक बन जाएगा क्योंकि contenteditable एचटीएमएल 5 डब्ल्यू 3 विशिष्टता में है। जावास्क्रिप्ट आरटीई के लिए वर्तमान विधि दस्तावेज़ के गुणों में designMode को "चालू" पर सेट करना है। इसके साथ समस्या यह है कि पूरा दस्तावेज़ संपादन योग्य हो जाता है, क्योंकि आपको अधिकतर जावास्क्रिप्ट आरटीई के संपादक को आईफ्रेम के माध्यम से लोड किया जाएगा, इस प्रकार आईफ्रेम के दस्तावेज़ में डिज़ाइन मोड को "चालू" पर सेट किया गया है, न कि मूल दस्तावेज़।

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

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

कुल मिलाकर, वास्तव में बहुत अच्छे समाधान नहीं हैं, इस सामग्री के साथ बहुत कुछ करना है। वर्तमान में उपलब्ध आरटीई के लिए अधिकांश ब्राउज़र (अभी तक) और अत्यधिक जटिल स्क्रिप्ट में लागू मानक नहीं है।

जावास्क्रिप्ट आरटीई के देखें:

TinyMCE, FCKeditor (CKEditor), YUI 2 के संपादक, और कुछ अन्य लोगों के लिए यदि आप, अपने खुद के रोल execCommand() जो मूल रूप से जावास्क्रिप्ट है पर ट्यूटोरियल देखने के लिए चाहते हैं, देखते हैं विधि जो चयनित तत्वों को संशोधित करती है या सामग्री को तत्वों में सम्मिलित करती है संपादन योग्य क्षेत्र।

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

1

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

एक फ्लैश संपादक की कम क्षमताएं होती हैं और फ्लैश की आवश्यकता होती है, लेकिन शायद फ्लैश वेबसाइटों के लिए एकदम सही समाधान होगा। जावास्क्रिप्ट संपादकों में एचटीएमएल अंतर बहुत परेशान हो सकते हैं, और फीचर्स जो फ्लैश-एचटीएमएल का समर्थन नहीं करता है, उस जावास्क्रिप्ट संपादक में नहीं होना चाहिए। फ्लैश अन्य टैग भी उत्पन्न करता है जिनका उपयोग एचटीएमएल में नहीं किया जाता है, उदाहरण के लिए: <textformat> टैग केवल फ्लैश-एचटीएमएल/एचटीएमएलटेक्स्ट में प्रयोग किया जाता है।

मुझे यह समस्या थी जहां मुझे एक संपादक नहीं मिला जो जावास्क्रिप्ट संपादक के मुद्दों के बिना सभी संभव फ़्लैश-एचटीएमएल उत्पन्न करता है। पाया जा सकता है जो तो मैं एक अपने आप को बनाया जा में:
http://www.flashcomponents.net/component/hcs-rich-text-editor.html
यह फ्लैश एचटीएमएल उत्पन्न करता है, और अगर (एक्स) एचटीएमएल भी मान्य जरूरत ब्राउज़र में कोई अंतर नहीं है।

तो संक्षेप में, फ्लैश आधारित वेबसाइटों के लिए आप शायद जावास्क्रिप्ट संपादक चाहते हैं क्योंकि इसकी अधिक संभावनाएं हैं। फ्लैश वेबसाइटों के लिए आप फ्लैश-एचटीएमएल कोड जैसे <textformat>.

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