मैंने छाया डोम के बारे में सुना जो वेब विजेट विकास में encapsulation की समस्या को हल करने के लिए प्रतीत होता है। डीओएम और सीएसएस नियमों को encapsulated मिलता है जो रखरखाव के लिए अच्छा है। लेकिन फिर यह नहीं है कि iframes के लिए क्या हैं? आईफ्रेम के साथ क्या समस्याएं हैं जो डब्ल्यू 3 सी के लिए छाया डोम या एचटीएमएल 5 वेब घटक के साथ आना आवश्यक है?जब हमारे पास iframes है तो छाया डोम क्यों?
उत्तर
iframes का सिर्फ कैप्सूलीकरण वस्तुओं के रूप में उपयोग कर रहे हैं ...
(जो बाद में पर और अधिक) एसवीजी के अपवाद के साथ, आज के वेब मंच से कोड में से एक हिस्सा अलग करने के लिए केवल एक ही में निर्मित तंत्र प्रदान करता है दूसरा - और यह सुंदर नहीं है। हाँ, मैं iframes के बारे में बात कर रहा हूँ। के लिए अधिकांश encapsulation जरूरतों के लिए, फ्रेम बहुत भारी और प्रतिबंधित हैं।
छाया डोम आपको डीओएम या उसके हिस्से का एक और क्लोन बनाकर बेहतर और आसान encapsulation प्रदान करने की अनुमति देता है।
उदाहरण के लिए कल्पना करें कि आप एक विजेट बनाते हैं (जैसा कि मेरे पास है) जिसका उपयोग वेबसाइटों पर किया जाता है। आप विजेट, पृष्ठ पर सीएसएस से प्रभावित हो सकता है और भयानक लग रही है जबकि छाया डोम के साथ यह
:) नहीं होगा यहाँ विषय पर एक उत्कृष्ट लेख है:
क्या हमारे पास अलग-अलग छाया-डोम्स में एक ही विजेट के कई उदाहरण हो सकते हैं? उदाहरण: - सीएसएस/जेएस/एचटीएमएल एक जैसा होगा लेकिन एक अलग डेटासोर्स/एपीआई को इंगित करता है – udarakr
आज, iframes आमतौर पर अलग-अलग दायरे और स्टाइल को आश्वस्त करने के लिए उपयोग किया जाता है। उदाहरणों में Google के मानचित्र और यूट्यूब वीडियो शामिल हैं।
हालांकि, iframes को वर्तमान HTML दस्तावेज़ में पूर्ण दस्तावेज़ एम्बेड करने के लिए डिज़ाइन किया गया है। इसका मतलब है कि किसी दिए गए DOM तत्व में मूल दस्तावेज़ से iframe में मानों तक पहुंच बनाना डिज़ाइन द्वारा परेशानी है। डीओएम तत्व पूरी तरह से अलग संदर्भ में हैं, इसलिए आपको उन मानों तक पहुंचने के लिए iframe के DOM को पार करने की आवश्यकता है, जिन्हें आप ढूंढ रहे हैं। वेब घटकों के साथ इसकी तुलना करें जो कस्टम तत्वों के मूल्यों तक पहुंचने के लिए एक स्वच्छ एपीआई का पर्दाफाश करने का एक शानदार तरीका प्रदान करता है।
5 iframes के सेट का उपयोग करके एक पृष्ठ बनाने की कल्पना करें जिसमें प्रत्येक में एक घटक होता है। Iframe की सामग्री को होस्ट करने के लिए प्रत्येक घटक को एक अलग यूआरएल की आवश्यकता होगी। परिणामस्वरूप मार्कअप को आईफ्रेम टैग से भंग कर दिया जाएगा, जो कम अर्थपूर्ण अर्थ के साथ मार्कअप प्रदान करेगा जो पढ़ने और प्रबंधित करने के लिए भी घबराहट है। इसके विपरीत, वेब घटक प्रत्येक घटक के लिए समृद्ध अर्थपूर्ण टैग घोषित करने का समर्थन करते हैं। ये टैग HTML में प्रथम श्रेणी के नागरिक के रूप में कार्य करते हैं। यह पाठक को सहायता करता है (दूसरे शब्दों में, रखरखाव डेवलपर)।
सारांश में, दोनों iframes और छाया DOM encapsulation प्रदान करते हैं, केवल छाया DOM को वेब घटकों के उपयोग के लिए डिज़ाइन किया गया था और इस प्रकार अत्यधिक पृथक्करण, सेटअप ओवरहेड, और iframes के साथ होने वाली गुंजाइश मार्कअप से बचाता है।
- 1. जब हमारे पास json_encode
- 2. जब हमारे पास रैपर वर्ग होते हैं, तो प्राइमेटिव का समर्थन क्यों किया जाता है?
- 3. जब हमारे पास स्पेकफ़्लो है तो हमें कोडित ui का उपयोग क्यों करना चाहिए?
- 4. हमारे पास जावास्क्रिप्ट में बंद क्यों है?
- 5. हमारे पास अपरिवर्तनीय खाली नक्शा क्यों है?
- 6. हमारे पास जावास्क्रिप्ट में Function.call क्यों है?
- 7. एमआईपीएस: जब हमारे पास पहले से लोड शब्द है तो हमें लोड बाइट की आवश्यकता क्यों है?
- 8. जब डोम-दोहराना तत्व मुद्रित किया जाता है तो
- 9. हमारे पास अधिकतम क्यों है। टर्मिनल अनुकरणकों में 256 रंग?
- 10. रेजर/सीएसएचटीएमएल - हमारे पास क्या लाभ है?
- 11. क्या हमारे पास IENumerable
- 12. क्या हमारे पास बुलेटन
- 13. क्या हमारे पास edittext
- 14. क्या हमारे पास Angular.js
- 15. हमारे पास C12+ में <cstdfloat> क्यों नहीं है?
- 16. हमारे पास दोनों जंजीर सरणी और बहुआयामी सरणी क्यों है?
- 17. iframes इतनी धीमी क्यों हैं?
- 18. मेवेन छाया प्लगइन चेतावनी: हमारे पास एक डुप्लिकेट है - कैसे ठीक करें?
- 19. छाया-छेड़छाड़ करने वाले वंशज, '/ गहरी /', जिसमें ':: छाया' छद्म तत्व शामिल हैं, को बहिष्कृत किया जा रहा है, तो हम छाया डोम को कैसे छेद कर सकते हैं?
- 20. iFrames पर AJAX क्यों?
- 21. जब हमारे पास कुछ फ़ील्ड पर पंक्तियां हैं तो हमारे पास JQGrid के लिए वैश्विक विस्तार/संकुचन कैसे हो सकता है?
- 22. त्रुटि: हमारे पास Azure CLI
- 23. यदि हमारे पास अनंत स्मृति है, तो क्या हमें अभी भी पेजिंग की आवश्यकता है?
- 24. क्या हमारे पास सी ++ में बंद है?
- 25. यदि हमारे पास सरोगेट जोड़े हैं तो यूटीएफ -16 के बजाय यूटीएफ -32 क्यों?
- 26. जावा में हमारे पास निकास कोड क्यों हैं?
- 27. iframes
- 28. हमारे पास पाइथन में कॉल करने योग्य ऑब्जेक्ट्स क्यों हैं?
- 29. मॉलोक/फ्री का उपयोग क्यों करें, जब हमारे पास नया/हटाया जाए?
- 30. IFRAMEs
'
किस तरह से अधिक encapsulation? Iframes क्या चीजें करते हैं कि छाया डीओएम अनुमति देता है? –
'