2012-06-26 10 views
11

में क्यों स्थानांतरित की जाती है संपादन योग्य HTML एक आईफ्रेम में क्यों स्थानांतरित हो जाती है? मैंने विभिन्न संपादकों का विश्लेषण किया (TinyMce, CKEditor, आदि) और सभी संपादन योग्य सामग्री को एक अलग iFrame में ले जाते हैं जिसे वे मूल पाठ पर रखते हैं।एचटीएमएल WYSIWYG एडटर: संपादन योग्य सामग्री iFrame

इसके लिए तकनीकी कारण क्या है। मैंने contenteditable="true" के साथ प्रयोग किया, जो कि इन सभी संपादकों का भी आधार है, और इसे अभी तक करने का कोई कारण नहीं मिला।

+4

मुझे लगता है कि एक मुख्य कारण स्टाइल है। मूल दस्तावेज़ से सीएसएस नियम अनिवार्य रूप से WYSIWYG को प्रभावित करेंगे, जो अक्सर समस्याग्रस्त परिणामों की ओर अग्रसर होते हैं। –

+2

लेकिन क्या कोई मुद्दा नहीं हो सका, जब आप टेक्स्ट को ऑरिजिनल वेबसाइट में वापस डाल दें? एक मंच की तरह, आप एक लेख के लिए पाठ दर्ज करते हैं और फिर इसे पृष्ठ पर पोस्ट करते हैं। फिर आप मूल दस्तावेज़ की शैली को देखते हैं, यह देखने के लिए कि वह कैसा दिखता है ... – Stefan

+2

उस स्थिति में, आप सक्रिय रूप से आईफ़्रेम पर पृष्ठ की शैलियों को लागू करेंगे (सभी बड़े WYSIWYG संपादकों के पास इसका विकल्प होगा)। मैं मानता हूं कि ऐसी स्थितियां हैं जहां कोई आपको वर्णन करने का तरीका पसंद करेगा। –

उत्तर

11

मैं सीकेडिटर कोर डेवलपर हूं। नहीं लंबे समय के लिए - IFrame की संपादक की सामग्री की शैलियों के वारिस नहीं है - सिर्फ वर्ष की अंतिम छमाही के लिए है, लेकिन मैं क्यों हम संपादन योग्य :)

  1. स्टाइलिंग IFrame की उपयोग के बारे में बहुत कुछ सीखा है पृष्ठ। यह बेहद महत्वपूर्ण है, क्योंकि हम शैलियों को रीसेट नहीं कर सकते हैं (एसआईसी! सीएसएस वास्तव में बेकार है)। और क्या है - iframe में हम स्वतंत्र रूप से अपनी खुद की शैलियों को जोड़ सकते हैं जो सहायक भी हैं।

  2. केवल इफ्रामड संपादन योग्य में हम पूरे पृष्ठ पर सिर, मेटा, बॉडी शैलियों, शीर्षक इत्यादि के साथ काम कर सकते हैं। हमारे कुछ उपयोगकर्ताओं को इसकी आवश्यकता है।

  3. ब्राउज़रों के पास संतोषजनक के बहुत छोटी (और अधूरे) इंप्रेशन हैं। जैसे अनुमान लगाएं कि जब आप संपादन योग्य में सूची पेस्ट करेंगे तो फ़ायरफ़ॉक्स पर <h1> तत्व (आप इस संपादक में यह देख सकते हैं - http://createjs.org/demo/hallo/)? यह संपादन योग्य क्षेत्र से बाहर निकल जाएगा और एक संपादन योग्य तत्व बन जाएगा। हमें इन मामलों को मैन्युअल रूप से संपादक में संभालना होगा और यह वास्तव में कड़ी मेहनत है :)।

  4. मुझे इस बारे में निश्चित नहीं है, लेकिन मुझे विश्वास है कि designMode जो पूरे दस्तावेज़ को संपादन योग्य क्षेत्र में स्विच करने की अनुमति देता है, पहले और contenteditable बाद में आया था। तो कारण भी ऐतिहासिक हो सकता है - एक दृष्टिकोण से दूसरे दृष्टिकोण में स्विच करना मुश्किल है।

  5. शायद अधिक कारण हैं कि हम एक iframed संपादन योग्य का उपयोग क्यों करते हैं। जब मैं उन्हें सीखूंगा तो मैं अपना जवाब अपडेट करूंगा :)

+0

बहुत धन्यवाद, यह वास्तव में मदद की! – Stefan

4

From the tinymce froum

हाय Zappino!

यह TinyMCE तरह संपादकों के स्वभाव एक IFrame क्योंकि एक फ्रेम में आप मुख्य पृष्ठ के दस्तावेज में कुछ भी तोड़ने के बिना अपने आवश्यकताओं के अनुरूप एक HTML दस्तावेज के किसी भी हिस्से को संशोधित कर सकते उपयोग करने के लिए है। विशेष रूप से यदि आप भागों सहित एक पूर्ण HTML दस्तावेज़ को संपादित करना चाहते हैं और आप IFrame के बिना ऐसा करने में सक्षम नहीं होंगे।

क्रॉस डोमेन स्क्रिप्टिंग तब होगी जब आप TinyMCE की फ़ाइलों को अलग-अलग (उप-) डोमेन पर उस पृष्ठ से स्टोर करते हैं जहां से आप संपादक एम्बेड करते हैं। हमें अपनी स्थापना का एक परीक्षण परिदृश्य दिखाएं जिसके साथ आप परेशानी कर रहे हैं और कोई आपकी मदद करने में सक्षम हो सकता है! जर्मनी (वापस जर्मनी के लिए) से

अभिवादन

फेलिक्स Riesterer।

+1

+ 1 बिल्कुल, यह है। और यही वजह है कि सभी (जहां तक ​​मुझे पता है) शक्तिशाली WYSIWYG संपादक एक आईफ्रेम का उपयोग करते हैं। – Thariama

+0

प्रतिक्रिया के लिए धन्यवाद, – Stefan

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