फ़्रेम (वर्ल्ड वाइड वेब)

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

HTML में, एक फ्रेमसेट नामित फ़्रेमों का एक समूह है जिसमें वेब पेज और मीडिया को निर्देशित किया जा सकता है; एक iframe एक दस्तावेज़ के शरीर के अंदर एक फ्रेम रखने के लिए प्रदान करता है।

2000 के दशक की शुरुआत से, उपयोगिता और अभिगम्यता के लिए चिंता ने फ़्रेमसेट के कम उपयोग को प्रेरित किया है और HTML5 मानक उनका समर्थन नहीं करता है।

टैग और गुण
HTML में फ्रेम का उपयोग करके बनाया जाता है  टैग जोड़ी।   ई> टैग फ्रेम बनाने के लिए उपयोग किए जाने वाले अन्य सभी टैग के लिए एक कंटेनर टैग है।   e> टैग की जगह लेता है   फ्रेमसेट दस्तावेजों में टैग करें।   ई> टैग परिभाषित करता है कि विंडो को फ्रेम में कैसे विभाजित किया जाए।

प्रत्येक फ़्रेमसेट पंक्तियों या स्तंभों के एक सेट को परिभाषित करता है। यदि उपयोगकर्ता फ्रेम का उपयोग करके परिभाषित करता है  विशेषता तो क्षैतिज फ्रेम बनाए जाते हैं। यदि उपयोगकर्ता फ्रेम का उपयोग करके परिभाषित करता है   फिर वर्टिकल फ्रेम बनाए जाते हैं।   e> तत्व को शामिल किया जा सकता है ताकि अक्षम फ्रेम वाले वेब ब्राउज़र (या ब्राउज़र जो फ्रेम का समर्थन नहीं करते हैं) उपयोगकर्ता को कुछ प्रदर्शित कर सकते हैं, जैसा कि इस उदाहरण में है: <वाक्यविन्यास लैंग = html4सख्त>  <फ्रेम src= http://www.example.com/frame_1.html name= frame_1 > <फ़्रेम src= http://alt.example.com/frame_2.html नाम= फ़्रेम_2 > आपका ब्राउज़र फ्रेमों का समर्थन नहीं करता है। फ्रेम 1 देखने के लिए यहां क्लिक करें। फ्रेम 2 के लिए यहां क्लिक करें।  

फ्रेमसेट में ए  गुण। यदि 0 से अधिक पूर्णांक पर सेट किया जाता है, तो उपयोगकर्ता इस सीमा को खींचकर फ़्रेम का आकार बदल सकता है, जब तक कि ए   विशेषता एक फ्रेम तत्व में मौजूद है। यदि बॉर्डर को 0 पर सेट किया जाता है, तो कोई भी बॉर्डर प्रदर्शित नहीं होगा और अलग-अलग फ़्रेमों में सामग्री बिना रेखांकन के एक दूसरे से सटे होंगे।   e> तत्व का उपयोग सामान्य HTML बॉडी के भीतर इनलाइन किया जाता है, और प्रारंभिक सामग्री और नाम को समान रूप से परिभाषित करता है   तत्व। एक के अंदर कोई पाठ   टैग जोड़ी उन ब्राउज़रों में प्रदर्शित की जाएगी जो आईफ्रेम टैग को नहीं समझते हैं। <वाक्यविन्यास लैंग = html4सख्त>  आपका ब्राउजर आईफ्रेम्स का समर्थन नहीं करता है। सामग्री देखने के लिए यहां क्लिक करें। 

इतिहास
नेटस्केप नेविगेटर 2.0 ने मार्च 1996 में फ़्रेम के लिए उपयोग किए जाने वाले तत्वों को पेश किया। अन्य ब्राउज़र विक्रेताओं जैसे कि साइबरडॉग के साथ Apple Inc. ने उस वर्ष बाद में अनुसरण किया। उस समय, नेटस्केप ने HTML 3.0 मानक में शामिल करने के लिए विश्वव्यापी वेब संकाय  (W3C) को फ्रेम प्रस्तावित किया था। फ़्रेम का उपयोग प्रारंभिक ऑनलाइन पत्रिकाओं और वेब ऐप्स, जैसे वेबमेल सेवाओं और वेब चैट साइटों को प्रदर्शित करने और नेविगेट करने के लिए किया जाता था। सर्वर-साइड शामिल या कॉमन गेटवे इंटरफ़ेस समर्थन जैसी सर्वर सुविधाओं की आवश्यकता के बिना तत्वों को पूरी तरह से प्रदर्शित करने की अनुमति देने का फ़्रेम्स का लाभ था। जनता के लिए सुलभ प्रारंभिक वेब सर्वरों पर ये सुविधाएं सामान्य नहीं थीं।

शुरुआती वेबसाइटें अक्सर एक बैनर प्रदर्शित करने के लिए शीर्ष पर एक फ्रेम का उपयोग करती थीं जिसे स्क्रॉल नहीं किया जा सकता था। इन बैनर फ़्रेमों में कभी-कभी साइट के लोगो के साथ-साथ ऑनलाइन विज्ञापन भी शामिल होते हैं। एक्सएचटीएमएल 1.1, एचटीएमएल 4 का अपेक्षित उत्तराधिकारी, सभी फ़्रेमों को हटा देता है। XFrames, इरादा अंतिम प्रतिस्थापन, पॉप्युलेटेड फ़्रेमसेट को संबोधित करने के लिए समग्र यूनिफॉर्म रिसोर्स पहचानकर्ता प्रदान किया।

बाद के HTML5 मानक ने फ्रेमसेट को XHTML से अलग करके हटा दिया।   ई> तत्व कई सैंडबॉक्स (कंप्यूटर सुरक्षा) विकल्पों के साथ रहता है जो साइटों के बीच सामग्री साझा करने के लिए अभिप्रेत है।

लाभ
सामग्री को स्वतंत्र रूप से लोड और नेविगेट करने की अनुमति देकर, फ्रेम ने पहली बार विकसित होने पर उपयोग में आने वाले सादे HTML पर कई फायदे पेश किए:


 * नेविगेशन डेटा जैसे सभी या अधिकतर पृष्ठों पर साझा की गई सामग्री के रखरखाव को सरल बनाना। यदि किसी आइटम को साइडबार नेविगेशन मेनू में जोड़ने की आवश्यकता है, तो वेब पेज लेखक को केवल एक वेब पेज फ़ाइल को बदलने की आवश्यकता होती है, जबकि साइडबार मेनू सभी पर दिखाई देने पर पारंपरिक गैर-फ़्रेमसेट वेबसाइट पर प्रत्येक पृष्ठ को संपादित करना होगा। उन्हें।
 * पृष्ठ के उन हिस्सों को फिर से डाउनलोड न करने के लिए आवश्यक बैंडविड्थ की मात्रा को कम करना जो परिवर्तित नहीं हुए थे।
 * प्रत्येक अनुभाग को स्वतंत्र रूप से स्क्रॉल करने की क्षमता के साथ, सूचनाओं के कई टुकड़ों को साथ-साथ देखने की अनुमति देना। इसमें दो चित्रों या वीडियो की साथ-साथ तुलना, या किसी चीज़ को समझने के दो अलग-अलग तरीके शामिल हो सकते हैं, जैसे कि वीडियो के बगल में पाठ का एक स्वतंत्र रूप से स्क्रॉल पृष्ठ, चित्र, एनीमेशन, 3D घूमने वाली वस्तुएं, आदि।
 * फ़ुटनोट्स या विषयांतर को पृष्ठ के एक समर्पित खंड में प्रकट होने की अनुमति देना, ताकि पाठक मुख्य पाठ में अपना स्थान खो न दे।

आलोचना
HTML सामग्री को तैयार करने के अभ्यास ने कई आलोचनाओं को जन्म दिया, जो कि उपयोगिता और पहुंच संबंधी चिंताओं पर केंद्रित थी। इसमे शामिल है:


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

विकल्प
जैसे-जैसे वेब तकनीक विकसित हुई, वैसे-वैसे कई उद्देश्य जिनके लिए फ़्रेम का उपयोग किया गया, उन तरीकों से संभव हो गए जिससे फ़्रेम के साथ पहचानी जाने वाली समस्याओं से बचा जा सके।


 * व्यापक शैली पत्रक (सीएसएस) ने पृष्ठ के तत्वों को स्वतंत्र रूप से स्क्रॉल करने की अनुमति दी (   संपत्ति) या स्क्रीन पर आयोजित किया जाता है जबकि अन्य सामग्री स्क्रॉल की जाती है (उपयोग करके  )
 * सर्वर-साइड में साझा सामग्री को एक बार संपादित करने की अनुमति दी जाती है और समाप्त पृष्ठ के हिस्से के रूप में क्लाइंट को स्वचालित रूप से डिलीवर किया जाता है; जैसे-जैसे सर्वर सीपीयू और कनेक्शन की गति में वृद्धि हुई, वैसे-वैसे इसे करने के लिए आवश्यक अतिरिक्त कार्य पर विचार कम होता गया।
 * कॉमन गेटवे इंटरफ़ेस और वेब-ओरिएंटेड पटकथा भाषाएँ  और  वेब विकास  फ्रेमवर्क जैसे कि PHP और  सक्रिय सर्वर पेज, साथ ही डेटाबेस-समर्थित  सामग्री प्रबंधन प्रणाली  जैसे  WordPress के , सामग्री को बनाए रखने और नेविगेशन प्रदान करने के लिए अधिक समृद्ध विकल्प प्रदान करते हैं।
 * क्लाइंट-साइड स्क्रिप्टिंग और डायनेमिक HTML ने पृष्ठ के कुछ हिस्सों को उपयोगकर्ता के कार्यों के आधार पर नेत्रहीन रूप से बदलने की अनुमति दी। इसने फ़ुटनोट्स या निर्देशों जैसी साइड सामग्री को दिखाने के लिए और अधिक लचीलेपन की अनुमति दी, क्योंकि अब इन्हें पूर्व-निर्धारित फ़्रेम की आवश्यकता के बजाय पृष्ठ पर कहीं भी प्रदर्शित और छिपाया जा सकता है।
 * AJAX सामग्री के एक पृष्ठ के भीतर गतिशील प्रदर्शन की अनुमति देता है, भले ही इसे सर्वर से लाने की आवश्यकता हो, उदाहरण के लिए लॉग इन उपयोगकर्ता या अन्य घटनाओं के आधार पर।

यह भी देखें

 * हाइपरलिंकिंग और फ़्रेमिंग के कॉपीराइट पहलू
 * एचटीएमएल तत्व # फ्रेम्स
 * इनलाइन लिंकिंग
 * डीप लिंकिंग
 * फ्रेमकिलर
 * टेबललेस वेब डिज़ाइन

बाहरी संबंध

 * HTML Help: What's wrong with frames?
 * Dan's Web Tips: Frames
 * Script designed to prevent framing of your content