2011-07-19 7 views
7

हाल ही में code.google.com ने फ़ाइल को संपादित करने के लिए सुविधा जोड़ा और वाक्यविन्यास इसे हाइलाइट करें!code.google.com में इनलाइन संपादन और स्वरूपण का उपयोग कैसे किया जाता है?

like this

मैं क्या समझ सकता हूँ से वे आइफ्रेम, जहां पाठ क्षेत्र है जहाँ आप सामग्री में टाइप और iframe स्वरूपण को प्रदर्शित करता है पर साथ-साथ एक पाठ क्षेत्र गयी। Textarea ऊपर ले जाया गया है (जैसे -10000 पीएक्स या कुछ) तो यह अदृश्य है।

मुझे जो नहीं मिलता है वह यह है कि वे टेक्स्टरेरा की तरह व्यवहार करने वाली आईफ़्रेम सामग्री का प्रबंधन कैसे करते हैं। उदाहरण के लिए यदि आप कोड का एक समूह कॉपी और पेस्ट करते हैं तो वे इसे तुरंत प्रारूपित करते हैं।

यह बहुत दिलचस्प है। क्या कोई इस बात पर कुछ समझ सकता है कि यह कैसे काम करता है?

उत्तर

1

लोट्स और बहुत सारे जावास्क्रिप्ट और कस्टम इवेंट हैंडलिंग। जवाब देना इतना आसान नहीं है क्योंकि यह सॉफ्टवेयर का एक जटिल टुकड़ा है।

वे शायद पाठ संपादन योग्य बनाने के contentEditable="true" के साथ एक उपयोग कर रहे हैं, पाठ क्षेत्र हो सकता है ब्राउज़रों कि यह (या किसी अन्य कारण से, मैं और अधिक विश्लेषण के बिना नहीं बता सकता) का समर्थन नहीं करते पर कब्जा करने के लिए इनपुट ।

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

+0

+1 धन्यवाद, वास्तविक प्रारूपण के लिए @ गोस्टॉय लाइब्रेरी के बारे में सही है जिसका उपयोग अब तक किया गया है। अद्भुत रूप मुझे क्या है तथ्य यह है कि दोनों एक ही समय में संपादन, स्वरूपण और स्वरूपण का उपयोग किया जा सकता है। यह आश्चर्यजनक होगा अगर आपको यह पता चल जाए कि यह कैसे करना है (मेरे पास जावास्क्रिप्ट शक्ति का अधिकतर हिस्सा नहीं है) – OscarRyz

+0

मैंने इसे जावास्क्रिप्ट में नहीं किया है, लेकिन मेरे पास कोड समापन, वाक्यविन्यास जांच के साथ संपादकों को हाइलाइट करने वाला कुछ अनुभव सिंटैक्स है , आदि। यह कई कोने के मामलों के साथ बहुत काम है, मैंने जावास्क्रिप्ट कार्यान्वयन करने की कोशिश की है, और यहां तक ​​कि विभिन्न रनटाइम वातावरण के कारण यह भी मुश्किल है (ईवेंट हैंडलिंग में कुछ subtleties हैं, और कोने केस व्यवहार) । यह पिछले कुछ वर्षों में शायद बेहतर हो गया है। – juancn

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