फ़्रेम (वर्ल्ड वाइड वेब): Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
{{HTML}} | {{HTML}} | ||
[[वेब ब्राउज़र]] के संदर्भ में, फ्रेम [[ वेब पृष्ठ |वेब पृष्ठ]] या ब्राउज़र [[विंडो (कंप्यूटिंग)]] का ऐसा भाग है जो कॉन्टेंट को स्वतंत्र रूप से लोड करने की क्षमता के साथ अपने कंटेनर से स्वतंत्र कॉन्टेंट प्रदर्शित करता है। इस प्रकार फ्रेम में [[एचटीएमएल]] या मीडिया एलिमेंट संलग्न कॉन्टेंट प्रदान करने वाली साइट से अलग [[वेबसाइट]] से आ सकते हैं। यह अभ्यास, जिसे फ़्रेमिंग के रूप में जाना जाता है,<ref>{{cite web|url=https://fairuse.stanford.edu/overview/website-permissions/linking/|title=अन्य वेबसाइटों से जुड़ना|date=2 April 2013|quote=What makes framing different is that instead of taking the user to the linked website, the information from that website is imported into the original page and displayed in a special “frame.” Technically, when you’re viewing framed information, your computer is connected to the site doing the framing—not the site whose page appears in the frame.}}</ref> वर्तमान समय में अधिकांशतः [[समान मूल नीति]] के उल्लंघन के रूप में माना जाता है। | |||
एचटीएमएल में, फ्रेमसेट नामित फ़्रेमों का समूह है जिसमें वेब पेज और मीडिया को निर्देशित किया जा सकता है, आईफ्रेम डॉक्यूमेंट की बॉडी के अंदर फ्रेम रखने के लिए प्रदान करता है। | |||
2000 के दशक | 2000 के दशक के प्रारम्भ से, उपयोगिता और अभिगम्यता के लिए फ़्रेमसेट के कम उपयोग को प्रेरित किया है और [[HTML5|एचटीएमएल5]] मानक उनका समर्थन नहीं करता है। | ||
== टैग और गुण == | == टैग और गुण == | ||
एचटीएमएल में फ्रेम <code><frameset></frameset></code> टैग का उपयोग करके बनाया जाता है। <code><frameset></code> टैग फ्रेम बनाने के लिए उपयोग किए जाने वाले अन्य सभी टैग के लिए कंटेनर टैग है। <code><frameset></code> मुख्यतः <code><body></code> टैग की जगह लेता है, इस प्रकार फ़्रेमसेट डॉक्युमेंट्स में इन्हें टैग किया जाता हैं। <code><frameset></code> ई> टैग परिभाषित करता है कि विंडो को फ्रेम में कैसे विभाजित किया जाता हैं। | |||
प्रत्येक फ़्रेमसेट पंक्तियों या स्तंभों के सेट को परिभाषित करता है। यदि उपयोगकर्ता फ्रेम का उपयोग करके परिभाषित करता है <code>rows</code> विशेषता तो क्षैतिज फ्रेम बनाए जाते हैं। यदि उपयोगकर्ता फ्रेम का उपयोग करके परिभाषित करता है <code>cols</code> फिर वर्टिकल फ्रेम बनाए जाते हैं। <code><noframes></code> | प्रत्येक फ़्रेमसेट पंक्तियों या स्तंभों के सेट को परिभाषित करता है। यदि उपयोगकर्ता फ्रेम का उपयोग करके परिभाषित करता है <code>rows</code> विशेषता तो क्षैतिज फ्रेम बनाए जाते हैं। इस प्रकार यदि उपयोगकर्ता फ्रेम का उपयोग करके परिभाषित करता है <code>cols</code> फिर वर्टिकल फ्रेम बनाए जाते हैं। <code><noframes></code> एलिमेंट को सम्मिलित किया जा सकता है, जिससे कि अक्षम फ्रेम वाले वेब ब्राउज़र (या ब्राउज़र जो फ्रेम का समर्थन नहीं करते हैं) उपयोगकर्ता को कुछ प्रदर्शित कर सकते हैं, जैसा कि इस उदाहरण में है: | ||
<वाक्यविन्यास लैंग = | |||
<वाक्यविन्यास लैंग = एचटीएमएल4सख्त> | |||
<फ्रेमसेट कोल्स = 85%, 15%> | <फ्रेमसेट कोल्स = 85%, 15%> | ||
< | <frame src= [http://www.example.com/frame_1.html http://www.example.com/frame_1.एचटीएमएल] name= frame_1 > | ||
< | <frame src= [http://alt.example.com/frame_2.html http://alt.example.com/frame_2.एचटीएमएल] name= frame_2 > | ||
<noframes> | <noframes> | ||
आपका ब्राउज़र फ्रेमों का समर्थन नहीं करता है। | आपका ब्राउज़र फ्रेमों का समर्थन नहीं करता है। | ||
<a href= http://www.example.com/frame_1.html>फ्रेम 1 देखने के लिए यहां क्लिक करें</a>। | <a href= http://www.example.com/frame_1.html>फ्रेम 1 देखने के लिए यहां क्लिक करें</a>। | ||
फ्रेम 2 के लिए <a href= http://alt.example.com/frame_2. | फ्रेम 2 के लिए <a href= http://alt.example.com/frame_2.एचटीएमएल >यहां क्लिक करें</a>। | ||
</noframes> | </noframes> | ||
</फ्रेमसेट> | </फ्रेमसेट> | ||
</वाक्यविन्यास हाइलाइट> | </वाक्यविन्यास हाइलाइट> | ||
फ्रेमसेट में | फ्रेमसेट में <code>border</code> प्रॉपर्टी जा उपयोग किया जाता हैं, इस प्रकार यदि 0 से अधिक पूर्णांक पर सेट किया जाता है, तो उपयोगकर्ता इस सीमा को खींचकर फ़्रेम का आकार परिवर्तित कर सकता हैं, जब तक कि ए <code>noresize</code> विशेषता फ्रेम एलिमेंट में सम्मिलित है। यदि बॉर्डर को 0 पर सेट किया जाता है, तो कोई भी बॉर्डर प्रदर्शित नहीं होगा और अलग-अलग फ़्रेमों में कॉन्टेंट बिना रेखांकन के दूसरे से सटे होंगे। <code>iframe</code> एलिमेंट का उपयोग सामान्य एचटीएमएल बॉडी के भीतर इनलाइन किया जाता है, और इस प्रकार प्रारंभिक कॉन्टेंट और नाम को समान रूप से परिभाषित करता है <code>frame</code> एलिमेंट। के अंदर कोई पाठ <code><iframe></iframe></code> टैग जोड़ी उन ब्राउज़रों में प्रदर्शित की जाएगी जो आईफ्रेम टैग को नहीं समझते हैं। | ||
<वाक्यविन्यास लैंग = | <वाक्यविन्यास लैंग = एचटीएमएल4सख्त> | ||
<iframe src= http://www.example.com/frame_1. | <<code>iframe</code> src= <nowiki>http://www.example.com/frame_1.एचटीएमएल</nowiki> ऊंचाई= 480 चौड़ाई= 640 > | ||
आपका ब्राउजर आईफ्रेम्स का समर्थन नहीं करता है। | आपका ब्राउजर आईफ्रेम्स का समर्थन नहीं करता है। कॉन्टेंट देखने के लिए <a href= http://www.example.com/frame_1.एचटीएमएल >यहां क्लिक करें</a>। | ||
</iframe> | </<code>iframe</code>> | ||
</वाक्यविन्यास हाइलाइट> | </वाक्यविन्यास हाइलाइट> | ||
== इतिहास == | == इतिहास == | ||
[[नेटस्केप नेविगेटर]] 2.0 ने मार्च 1996 में फ़्रेम के लिए उपयोग किए जाने वाले | [[नेटस्केप नेविगेटर]] 2.0 ने मार्च 1996 में फ़्रेम के लिए उपयोग किए जाने वाले एलिमेंटों को पेश किया। अन्य ब्राउज़र विक्रेताओं जैसे कि [[साइबरडॉग]] के साथ Apple Inc. ने उस वर्ष बाद में अनुसरण किया।<ref>{{cite press release|url=http://browserwatch.internet.com/news/story/apple33.html|archive-url=https://web.archive.org/web/20000817100726/http://browserwatch.internet.com/news/story/apple33.html|archive-date=17 August 2000|title=A Present From Apple: Cyberdog 2.0a1|access-date=14 April 2011|publisher=[[Internet.com]]|first=Dave|last=Garaffa|date=23 December 1996|url-status=dead|df=dmy-all}}</ref> उस समय, नेटस्केप ने एचटीएमएल 3.0 मानक में सम्मिलित करने के लिए [[ विश्वव्यापी वेब संकाय |विश्वव्यापी वेब संकाय]] (W3C) को फ्रेम प्रस्तावित किया था।<ref>{{cite web|archive-url=https://web.archive.org/web/20071030083252/http://docs.rinet.ru/HTMLnya/ch13.htm|archive-date=30 October 2007|url=http://docs.rinet.ru/HTMLnya/ch13.htm|title=Using HTML 3.2, Java 1.1, and CGI; Ch. 13, Frames|first=Eric|last=Ladd}}</ref> फ़्रेम का उपयोग प्रारंभिक [[ऑनलाइन पत्रिका]]ओं और [[वेब ऐप्स]], जैसे [[वेबमेल]] सेवाओं और [[वेब चैट]] साइटों को प्रदर्शित करने और नेविगेट करने के लिए किया जाता था। इस प्रकार सर्वर-साइड सम्मिलित या [[कॉमन गेटवे इंटरफ़ेस]] समर्थन जैसी सर्वर सुविधाओं की आवश्यकता के बिना एलिमेंटों को पूरी तरह से प्रदर्शित करने की अनुमति देने का फ़्रेम्स का लाभ था। जनता के लिए सुलभ प्रारंभिक वेब सर्वरों पर ये सुविधाएं सामान्य नहीं थीं। | ||
शुरुआती वेबसाइटें अक्सर बैनर प्रदर्शित करने के लिए शीर्ष पर फ्रेम का उपयोग करती थीं जिसे स्क्रॉल नहीं किया जा सकता था। इन बैनर फ़्रेमों में कभी-कभी साइट के लोगो के साथ-साथ ऑनलाइन विज्ञापन भी | शुरुआती वेबसाइटें अक्सर बैनर प्रदर्शित करने के लिए शीर्ष पर फ्रेम का उपयोग करती थीं जिसे स्क्रॉल नहीं किया जा सकता था। इस प्रकार इन बैनर फ़्रेमों में कभी-कभी साइट के लोगो के साथ-साथ ऑनलाइन विज्ञापन भी सम्मिलित होते हैं।<ref>{{cite book|last=Shafer|first=Dan|title=जावास्क्रिप्ट और नेटस्केप विजार्ड्री|year=1996|publisher=Coriolis Group Books|location=Scottsdale, AZ|isbn=978-1-883577-86-5|pages=[https://archive.org/details/javascriptnetsca00shaf/page/31 31]|url-access=registration|url=https://archive.org/details/javascriptnetsca00shaf/page/31}}</ref> | ||
[[एक्सएचटीएमएल]] 1.1, एचटीएमएल 4 का अपेक्षित उत्तराधिकारी, सभी फ़्रेमों को हटा देता है। [[XFrames]], इरादा अंतिम प्रतिस्थापन,<ref>{{cite web | url = http://www.w3.org/TR/xframes/ | title = XFrames वर्किंग ड्राफ्ट| publisher = W3C }}</ref> पॉप्युलेटेड फ़्रेमसेट को संबोधित करने के लिए समग्र [[यूनिफॉर्म रिसोर्स पहचानकर्ता]] प्रदान किया। | [[एक्सएचटीएमएल]] 1.1, एचटीएमएल 4 का अपेक्षित उत्तराधिकारी, सभी फ़्रेमों को हटा देता है। [[XFrames]], इरादा अंतिम प्रतिस्थापन,<ref>{{cite web | url = http://www.w3.org/TR/xframes/ | title = XFrames वर्किंग ड्राफ्ट| publisher = W3C }}</ref> पॉप्युलेटेड फ़्रेमसेट को संबोधित करने के लिए समग्र [[यूनिफॉर्म रिसोर्स पहचानकर्ता]] प्रदान किया। | ||
बाद के | बाद के एचटीएमएल5 मानक ने फ्रेमसेट को Xएचटीएमएल से अलग करके हटा दिया।<ref>[http://www.w3.org/TR/html5-diff/ HTML5 differences from HTML4]: "The following elements are not in HTML5 because using them damages usability: frame, frameset, noframes"</ref> <code>iframe</code> ई> एलिमेंट कई [[सैंडबॉक्स (कंप्यूटर सुरक्षा)]] विकल्पों के साथ रहता है जो साइटों के बीच कॉन्टेंट साझा करने के लिए अभिप्रेत है।<ref>[http://www.w3.org/TR/html5-diff/ HTML5 differences from HTML4]: "The iframe element has new attributes called sandbox and srcdoc which allow for sandboxing content, e.g. blog comments."</ref> | ||
== लाभ == | == लाभ == | ||
कॉन्टेंट को स्वतंत्र रूप से लोड और नेविगेट करने की अनुमति देकर, फ्रेम ने पहली बार विकसित होने पर उपयोग में आने वाले सादे एचटीएमएल पर कई फायदे पेश किए: | |||
* नेविगेशन डेटा जैसे सभी या अधिकतर पृष्ठों पर साझा की गई | * नेविगेशन डेटा जैसे सभी या अधिकतर पृष्ठों पर साझा की गई कॉन्टेंट के रखरखाव को सरल बनाना आवश्यक होता हैं।<ref>{{cite web | url = http://www.howtocreate.co.uk/tutorials/html/framesets | title = Framesets }}</ref> इस प्रकार यदि किसी आइटम को साइडबार नेविगेशन मेनू में जोड़ने की आवश्यकता है, तो वेब पेज लेखक को केवल वेब पेज फ़ाइल को बदलने की आवश्यकता होती है, जबकि साइडबार मेनू सभी पर दिखाई देने पर पारंपरिक गैर-फ़्रेमसेट वेबसाइट पर प्रत्येक पृष्ठ को संपादित करना होगा। | ||
* पृष्ठ के उन | * पृष्ठ के उन भागो को फिर से डाउनलोड न करने के लिए आवश्यक बैंडविड्थ की मात्रा को कम करना जो परिवर्तित नहीं हुए थे। | ||
* प्रत्येक अनुभाग को स्वतंत्र रूप से स्क्रॉल करने की क्षमता के साथ, सूचनाओं के कई टुकड़ों को साथ-साथ देखने की अनुमति देना। इसमें दो चित्रों या वीडियो की साथ-साथ तुलना, या किसी चीज़ को समझने के दो अलग-अलग तरीके | * प्रत्येक अनुभाग को स्वतंत्र रूप से स्क्रॉल करने की क्षमता के साथ, सूचनाओं के कई टुकड़ों को साथ-साथ देखने की अनुमति देना। इस प्रकार इसमें दो चित्रों या वीडियो की साथ-साथ तुलना, या किसी चीज़ को समझने के दो अलग-अलग तरीके सम्मिलित हो सकते हैं, जैसे कि वीडियो के बगल में पाठ का स्वतंत्र रूप से स्क्रॉल पृष्ठ, चित्र, एनीमेशन, 3D घूमने वाली वस्तुएं, आदि। | ||
* फ़ुटनोट्स या विषयांतर को पृष्ठ के समर्पित खंड में प्रकट होने की अनुमति देना, | * फ़ुटनोट्स या विषयांतर को पृष्ठ के समर्पित खंड में प्रकट होने की अनुमति देना, जिससे कि पाठक मुख्य पाठ में अपना स्थान खो न दे। | ||
== आलोचना == | == आलोचना == | ||
एचटीएमएल कॉन्टेंट को तैयार करने के अभ्यास ने कई आलोचनाओं को जन्म दिया, जो कि इस प्रकार उपयोगिता और पहुंच संबंधी चिंताओं पर केंद्रित थी। इसमे सम्मिलित है: | |||
* फ़्रेमिंग ब्राउज़र में प्रदर्शित | * फ़्रेमिंग ब्राउज़र में प्रदर्शित कॉन्टेंट और [[URL]] के बीच की पहचान को तोड़ देता है, जिससे फ़्रेमसेट के भीतर कॉन्टेंट के किसी विशेष आइटम को लिंक करना या बुकमार्क करना मुश्किल हो जाता है<ref name="Nielsen1996">{{cite web |url= http://www.useit.com/alertbox/9612.html |title=फ्रेम्स ज्यादातर समय चूसते हैं|first=Jakob |last=Nielsen |date=December 1996}}</ref> | ||
* विभिन्न ब्राउज़रों में फ्रेम का कार्यान्वयन असंगत है<ref name="Nielsen1996" />*ब्राउज़र जो | * विभिन्न ब्राउज़रों में फ्रेम का कार्यान्वयन असंगत है<ref name="Nielsen1996" />*ब्राउज़र जो कॉन्टेंट को रैखिक रूप से प्रस्तुत करते हैं, फ़्रेम को अच्छी तरह से हैंडल नहीं करते हैं।<ref>{{cite web |url=http://www.htmlcodetutorial.com/frames/frames_famsupp_15.html |title=Should You Use Frames? |publisher=HTML Code Tutorial}}</ref> | ||
** [[स्क्रीन रीडर]] प्रोग्राम | ** [[स्क्रीन रीडर]] प्रोग्राम | ||
** पाठ या ऑडियो ब्राउज़र | ** पाठ या ऑडियो ब्राउज़र | ||
Line 59: | Line 60: | ||
** [[मोबाइल ब्राउज़र]] | ** [[मोबाइल ब्राउज़र]] | ||
* फ़्रेमिंग [[ वेब अनुक्रमण |वेब अनुक्रमण]] को जटिल बनाता है और खोज इंजन अनुकूलन के लिए हानिकारक हो सकता है।<ref>{{cite web|url=http://www.lewesseo.com/seo-fundamentals-1/|title=एसईओ मूल बातें 1|last=Moore-Eded|first=Piers|publisher=Lewes SEO|access-date=25 February 2012}}</ref> | * फ़्रेमिंग [[ वेब अनुक्रमण |वेब अनुक्रमण]] को जटिल बनाता है और खोज इंजन अनुकूलन के लिए हानिकारक हो सकता है।<ref>{{cite web|url=http://www.lewesseo.com/seo-fundamentals-1/|title=एसईओ मूल बातें 1|last=Moore-Eded|first=Piers|publisher=Lewes SEO|access-date=25 February 2012}}</ref> | ||
* फ़्रेमिंग विभिन्न सर्वरों पर | * फ़्रेमिंग विभिन्न सर्वरों पर कॉन्टेंट के बीच की सीमाओं को भ्रमित करता है,<ref>{{cite web |url= http://budugllydesign.com/frame9806/frames9.htm |title=I Hate Frames Club}}</ref> जो इस प्रकार कॉपीराइट उल्लंघन के मुद्दों को उठाता है<ref name="htmlfaq">{{cite web |url=http://www.html-faq.com/htmlframes/?framesareevil |title=Why are frames so evil?}}</ref> | ||
* खोज इंजन से आने वाले विज़िटर फ़्रेम में प्रदर्शित करने के उद्देश्य से किसी पृष्ठ पर जा सकते हैं, जिसके परिणामस्वरूप विज़िटर के पास शेष साइट पर नेविगेट करने का कोई तरीका नहीं होता है<ref name="prosandcons">{{cite web |title=वेब पेजों में फ्रेम्स के फायदे और नुकसान|url=http://www.mediacollege.com/internet/html/frames/pros-cons.html}}</ref> | * खोज इंजन से आने वाले विज़िटर फ़्रेम में प्रदर्शित करने के उद्देश्य से किसी पृष्ठ पर जा सकते हैं, जिसके परिणामस्वरूप विज़िटर के पास शेष साइट पर नेविगेट करने का कोई तरीका नहीं होता है<ref name="prosandcons">{{cite web |title=वेब पेजों में फ्रेम्स के फायदे और नुकसान|url=http://www.mediacollege.com/internet/html/frames/pros-cons.html}}</ref> | ||
* फ्रेम्स बैक बटन के व्यवहार को बदलते हैं।<ref name="prosandcons" />* उपयोगकर्ता | * फ्रेम्स बैक बटन के व्यवहार को बदलते हैं।<ref name="prosandcons" />* उपयोगकर्ता सामान्यतः ब्राउज़र से यह उम्मीद नहीं करते हैं कि वे फ्रेम को उसी प्रकार प्रिंट करें जैसे वे करते हैं।<ref name="htmlfaq" />* वेब पेजों पर बाहरी लिंक जो फ्रेम का उपयोग करते हैं, फ्रेमसेट में अन्य पेजों को प्रदर्शित करने का कारण बन सकते हैं, क्योंकि लिंक के लिए डिफ़ॉल्ट व्यवहार वर्तमान फ्रेम में लोड करना है यदि लेखक अन्यथा निर्दिष्ट नहीं करता है। इसका उपयोग फेक वेबमास्टरों द्वारा किया जा सकता है जिससे कि यह प्रदर्शित हो सके कि किसी अन्य साइट की कॉन्टेंट वास्तव में फ़्रेमसेट होस्ट करने वाली साइट का हिस्सा थी। | ||
* यदि स्क्रीन रिज़ॉल्यूशन या ब्राउज़र विंडो का आकार बहुत कम है, तो प्रत्येक फ़्रेम में स्क्रॉल बार होंगे जो | * यदि इस प्रकार स्क्रीन रिज़ॉल्यूशन या ब्राउज़र विंडो का आकार बहुत कम है, तो प्रत्येक फ़्रेम में स्क्रॉल बार होंगे जो त्रुटि दिख सकते हैं और इस प्रकार पहले से ही सीमित स्थान का उपयोग करते हैं। इस प्रकार का व्यवहार सामान्यतः खराब साइट डिज़ाइन (तरल लेआउट के अतिरिक्त निश्चित लेआउट) से अधिक होता है, जिससे सभी फ़्रेमसेट सुविधाओं को उचित उपयोग में नहीं लाया जाता था।<br>इस व्यवहार को निम्न द्वारा कम किया जा सकता है: | ||
** छोटे फ़्रेमों के लिए स्क्रॉलिंग को अक्षम करना जिन्हें | ** छोटे फ़्रेमों के लिए स्क्रॉलिंग को अक्षम करना जिन्हें सामान्यतः स्क्रॉलबार की आवश्यकता नहीं होती, | ||
**तय डिजाइनों के | **तय डिजाइनों के अतिरिक्त लक्ष्य पृष्ठों में द्रव डिजाइन विशेषताओं का उपयोग करना, जिससे कि कॉन्टेंट पहले स्थान पर क्षैतिज स्क्रॉलबार का कारण न बने। | ||
== विकल्प == | == विकल्प == | ||
Line 70: | Line 71: | ||
जैसे-जैसे वेब तकनीक विकसित हुई, वैसे-वैसे कई उद्देश्य जिनके लिए फ़्रेम का उपयोग किया गया, उन तरीकों से संभव हो गए जिससे फ़्रेम के साथ पहचानी जाने वाली समस्याओं से बचा जा सके। | जैसे-जैसे वेब तकनीक विकसित हुई, वैसे-वैसे कई उद्देश्य जिनके लिए फ़्रेम का उपयोग किया गया, उन तरीकों से संभव हो गए जिससे फ़्रेम के साथ पहचानी जाने वाली समस्याओं से बचा जा सके। | ||
* [[ व्यापक शैली पत्रक | व्यापक शैली पत्रक]] (सीएसएस) ने पृष्ठ के | * [[ व्यापक शैली पत्रक | व्यापक शैली पत्रक]] (सीएसएस) ने पृष्ठ के एलिमेंटों को स्वतंत्र रूप से स्क्रॉल करने की अनुमति दी ( <code>overflow</code> संपत्ति) या स्क्रीन पर आयोजित किया जाता है जबकि अन्य कॉन्टेंट स्क्रॉल की जाती है (उपयोग करके <code>position:fixed</code>) | ||
* सर्वर-साइड में साझा | * सर्वर-साइड में साझा कॉन्टेंट को बार संपादित करने की अनुमति दी जाती है और समाप्त पृष्ठ के हिस्से के रूप में क्लाइंट को स्वचालित रूप से डिलीवर किया जाता है, जैसे-जैसे सर्वर सीपीयू और कनेक्शन की गति में वृद्धि हुई, वैसे-वैसे इसे करने के लिए आवश्यक अतिरिक्त कार्य पर विचार कम होता गया। | ||
* कॉमन गेटवे इंटरफ़ेस और वेब-ओरिएंटेड [[ पटकथा भाषाएँ |पटकथा भाषाएँ]] और [[ वेब विकास |वेब विकास]] फ्रेमवर्क जैसे कि [[PHP]] और [[ सक्रिय सर्वर पेज |सक्रिय सर्वर पेज]] , साथ ही डेटाबेस-समर्थित [[ सामग्री प्रबंधन प्रणाली | | * कॉमन गेटवे इंटरफ़ेस और वेब-ओरिएंटेड [[ पटकथा भाषाएँ |पटकथा भाषाएँ]] और [[ वेब विकास |वेब विकास]] फ्रेमवर्क जैसे कि [[PHP]] और [[ सक्रिय सर्वर पेज |सक्रिय सर्वर पेज]] , साथ ही डेटाबेस-समर्थित [[ सामग्री प्रबंधन प्रणाली |कॉन्टेंट प्रबंधन प्रणाली]] जैसे [[ WordPress के |वर्डप्रेस के]] , कॉन्टेंट को बनाए रखने और नेविगेशन प्रदान करने के लिए अधिक समृद्ध विकल्प प्रदान करते हैं। | ||
* [[क्लाइंट-साइड स्क्रिप्टिंग]] और डायनेमिक | * [[क्लाइंट-साइड स्क्रिप्टिंग]] और डायनेमिक एचटीएमएल ने पृष्ठ के कुछ भागो को उपयोगकर्ता के कार्यों के आधार पर नेत्रहीन रूप से परिवर्तन करने की अनुमति दी। इसने फ़ुटनोट्स या निर्देशों जैसी साइड कॉन्टेंट को दिखाने के लिए और अधिक लचीलेपन की अनुमति दी, क्योंकि अब इन्हें पूर्व-निर्धारित फ़्रेम की आवश्यकता के अतिरिक्त पृष्ठ पर कहीं भी प्रदर्शित और छिपाया जा सकता है। | ||
* [[AJAX]] | * [[AJAX]] कॉन्टेंट के पृष्ठ के भीतर गतिशील प्रदर्शन की अनुमति देता है, भले ही इसे सर्वर से लाने की आवश्यकता हो, उदाहरण के लिए लॉग इन उपयोगकर्ता या अन्य घटनाओं के आधार पर प्रदर्शित करते हैं। | ||
== यह भी देखें == | == यह भी देखें == | ||
* [[हाइपरलिंकिंग और फ़्रेमिंग के कॉपीराइट पहलू]] | * [[हाइपरलिंकिंग और फ़्रेमिंग के कॉपीराइट पहलू]] | ||
* एचटीएमएल | * एचटीएमएल एलिमेंट फ्रेम्स | ||
* [[इनलाइन लिंकिंग]] | * [[इनलाइन लिंकिंग]] | ||
* [[डीप लिंकिंग]] | * [[डीप लिंकिंग]] | ||
Line 89: | Line 90: | ||
==बाहरी संबंध== | ==बाहरी संबंध== | ||
* [http://www.htmlhelp.org/design/frames/whatswrong.html | * [http://www.htmlhelp.org/design/frames/whatswrong.html एचटीएमएल Help: What's wrong with frames?] | ||
* [http://webtips.dan.info/frames.html Dan's Web Tips: Frames] | * [http://webtips.dan.info/frames.html Dan's Web Tips: Frames] | ||
* [https://web.archive.org/web/20120209191256/http://www.4techies.com/webmaster-tips/break-out-of-frames.php Script designed to prevent framing of your content] | * [https://web.archive.org/web/20120209191256/http://www.4techies.com/webmaster-tips/break-out-of-frames.php Script designed to prevent framing of your content] |
Revision as of 18:00, 27 June 2023
HTML |
---|
Comparisons |
वेब ब्राउज़र के संदर्भ में, फ्रेम वेब पृष्ठ या ब्राउज़र विंडो (कंप्यूटिंग) का ऐसा भाग है जो कॉन्टेंट को स्वतंत्र रूप से लोड करने की क्षमता के साथ अपने कंटेनर से स्वतंत्र कॉन्टेंट प्रदर्शित करता है। इस प्रकार फ्रेम में एचटीएमएल या मीडिया एलिमेंट संलग्न कॉन्टेंट प्रदान करने वाली साइट से अलग वेबसाइट से आ सकते हैं। यह अभ्यास, जिसे फ़्रेमिंग के रूप में जाना जाता है,[1] वर्तमान समय में अधिकांशतः समान मूल नीति के उल्लंघन के रूप में माना जाता है।
एचटीएमएल में, फ्रेमसेट नामित फ़्रेमों का समूह है जिसमें वेब पेज और मीडिया को निर्देशित किया जा सकता है, आईफ्रेम डॉक्यूमेंट की बॉडी के अंदर फ्रेम रखने के लिए प्रदान करता है।
2000 के दशक के प्रारम्भ से, उपयोगिता और अभिगम्यता के लिए फ़्रेमसेट के कम उपयोग को प्रेरित किया है और एचटीएमएल5 मानक उनका समर्थन नहीं करता है।
टैग और गुण
एचटीएमएल में फ्रेम <frameset></frameset>
टैग का उपयोग करके बनाया जाता है। <frameset>
टैग फ्रेम बनाने के लिए उपयोग किए जाने वाले अन्य सभी टैग के लिए कंटेनर टैग है। <frameset>
मुख्यतः <body>
टैग की जगह लेता है, इस प्रकार फ़्रेमसेट डॉक्युमेंट्स में इन्हें टैग किया जाता हैं। <frameset>
ई> टैग परिभाषित करता है कि विंडो को फ्रेम में कैसे विभाजित किया जाता हैं।
प्रत्येक फ़्रेमसेट पंक्तियों या स्तंभों के सेट को परिभाषित करता है। यदि उपयोगकर्ता फ्रेम का उपयोग करके परिभाषित करता है rows
विशेषता तो क्षैतिज फ्रेम बनाए जाते हैं। इस प्रकार यदि उपयोगकर्ता फ्रेम का उपयोग करके परिभाषित करता है cols
फिर वर्टिकल फ्रेम बनाए जाते हैं। <noframes>
एलिमेंट को सम्मिलित किया जा सकता है, जिससे कि अक्षम फ्रेम वाले वेब ब्राउज़र (या ब्राउज़र जो फ्रेम का समर्थन नहीं करते हैं) उपयोगकर्ता को कुछ प्रदर्शित कर सकते हैं, जैसा कि इस उदाहरण में है:
<वाक्यविन्यास लैंग = एचटीएमएल4सख्त> <फ्रेमसेट कोल्स = 85%, 15%>
<frame src= http://www.example.com/frame_1.एचटीएमएल name= frame_1 > <frame src= http://alt.example.com/frame_2.एचटीएमएल name= frame_2 > <noframes> आपका ब्राउज़र फ्रेमों का समर्थन नहीं करता है। <a href= http://www.example.com/frame_1.html>फ्रेम 1 देखने के लिए यहां क्लिक करें</a>। फ्रेम 2 के लिए <a href= http://alt.example.com/frame_2.एचटीएमएल >यहां क्लिक करें</a>। </noframes>
</फ्रेमसेट> </वाक्यविन्यास हाइलाइट>
फ्रेमसेट में border
प्रॉपर्टी जा उपयोग किया जाता हैं, इस प्रकार यदि 0 से अधिक पूर्णांक पर सेट किया जाता है, तो उपयोगकर्ता इस सीमा को खींचकर फ़्रेम का आकार परिवर्तित कर सकता हैं, जब तक कि ए noresize
विशेषता फ्रेम एलिमेंट में सम्मिलित है। यदि बॉर्डर को 0 पर सेट किया जाता है, तो कोई भी बॉर्डर प्रदर्शित नहीं होगा और अलग-अलग फ़्रेमों में कॉन्टेंट बिना रेखांकन के दूसरे से सटे होंगे। iframe
एलिमेंट का उपयोग सामान्य एचटीएमएल बॉडी के भीतर इनलाइन किया जाता है, और इस प्रकार प्रारंभिक कॉन्टेंट और नाम को समान रूप से परिभाषित करता है frame
एलिमेंट। के अंदर कोई पाठ <iframe></iframe>
टैग जोड़ी उन ब्राउज़रों में प्रदर्शित की जाएगी जो आईफ्रेम टैग को नहीं समझते हैं।
<वाक्यविन्यास लैंग = एचटीएमएल4सख्त>
<iframe
src= http://www.example.com/frame_1.एचटीएमएल ऊंचाई= 480 चौड़ाई= 640 >
आपका ब्राउजर आईफ्रेम्स का समर्थन नहीं करता है। कॉन्टेंट देखने के लिए <a href= http://www.example.com/frame_1.एचटीएमएल >यहां क्लिक करें</a>।
</iframe
>
</वाक्यविन्यास हाइलाइट>
इतिहास
नेटस्केप नेविगेटर 2.0 ने मार्च 1996 में फ़्रेम के लिए उपयोग किए जाने वाले एलिमेंटों को पेश किया। अन्य ब्राउज़र विक्रेताओं जैसे कि साइबरडॉग के साथ Apple Inc. ने उस वर्ष बाद में अनुसरण किया।[2] उस समय, नेटस्केप ने एचटीएमएल 3.0 मानक में सम्मिलित करने के लिए विश्वव्यापी वेब संकाय (W3C) को फ्रेम प्रस्तावित किया था।[3] फ़्रेम का उपयोग प्रारंभिक ऑनलाइन पत्रिकाओं और वेब ऐप्स, जैसे वेबमेल सेवाओं और वेब चैट साइटों को प्रदर्शित करने और नेविगेट करने के लिए किया जाता था। इस प्रकार सर्वर-साइड सम्मिलित या कॉमन गेटवे इंटरफ़ेस समर्थन जैसी सर्वर सुविधाओं की आवश्यकता के बिना एलिमेंटों को पूरी तरह से प्रदर्शित करने की अनुमति देने का फ़्रेम्स का लाभ था। जनता के लिए सुलभ प्रारंभिक वेब सर्वरों पर ये सुविधाएं सामान्य नहीं थीं।
शुरुआती वेबसाइटें अक्सर बैनर प्रदर्शित करने के लिए शीर्ष पर फ्रेम का उपयोग करती थीं जिसे स्क्रॉल नहीं किया जा सकता था। इस प्रकार इन बैनर फ़्रेमों में कभी-कभी साइट के लोगो के साथ-साथ ऑनलाइन विज्ञापन भी सम्मिलित होते हैं।[4] एक्सएचटीएमएल 1.1, एचटीएमएल 4 का अपेक्षित उत्तराधिकारी, सभी फ़्रेमों को हटा देता है। XFrames, इरादा अंतिम प्रतिस्थापन,[5] पॉप्युलेटेड फ़्रेमसेट को संबोधित करने के लिए समग्र यूनिफॉर्म रिसोर्स पहचानकर्ता प्रदान किया।
बाद के एचटीएमएल5 मानक ने फ्रेमसेट को Xएचटीएमएल से अलग करके हटा दिया।[6] iframe
ई> एलिमेंट कई सैंडबॉक्स (कंप्यूटर सुरक्षा) विकल्पों के साथ रहता है जो साइटों के बीच कॉन्टेंट साझा करने के लिए अभिप्रेत है।[7]
लाभ
कॉन्टेंट को स्वतंत्र रूप से लोड और नेविगेट करने की अनुमति देकर, फ्रेम ने पहली बार विकसित होने पर उपयोग में आने वाले सादे एचटीएमएल पर कई फायदे पेश किए:
- नेविगेशन डेटा जैसे सभी या अधिकतर पृष्ठों पर साझा की गई कॉन्टेंट के रखरखाव को सरल बनाना आवश्यक होता हैं।[8] इस प्रकार यदि किसी आइटम को साइडबार नेविगेशन मेनू में जोड़ने की आवश्यकता है, तो वेब पेज लेखक को केवल वेब पेज फ़ाइल को बदलने की आवश्यकता होती है, जबकि साइडबार मेनू सभी पर दिखाई देने पर पारंपरिक गैर-फ़्रेमसेट वेबसाइट पर प्रत्येक पृष्ठ को संपादित करना होगा।
- पृष्ठ के उन भागो को फिर से डाउनलोड न करने के लिए आवश्यक बैंडविड्थ की मात्रा को कम करना जो परिवर्तित नहीं हुए थे।
- प्रत्येक अनुभाग को स्वतंत्र रूप से स्क्रॉल करने की क्षमता के साथ, सूचनाओं के कई टुकड़ों को साथ-साथ देखने की अनुमति देना। इस प्रकार इसमें दो चित्रों या वीडियो की साथ-साथ तुलना, या किसी चीज़ को समझने के दो अलग-अलग तरीके सम्मिलित हो सकते हैं, जैसे कि वीडियो के बगल में पाठ का स्वतंत्र रूप से स्क्रॉल पृष्ठ, चित्र, एनीमेशन, 3D घूमने वाली वस्तुएं, आदि।
- फ़ुटनोट्स या विषयांतर को पृष्ठ के समर्पित खंड में प्रकट होने की अनुमति देना, जिससे कि पाठक मुख्य पाठ में अपना स्थान खो न दे।
आलोचना
एचटीएमएल कॉन्टेंट को तैयार करने के अभ्यास ने कई आलोचनाओं को जन्म दिया, जो कि इस प्रकार उपयोगिता और पहुंच संबंधी चिंताओं पर केंद्रित थी। इसमे सम्मिलित है:
- फ़्रेमिंग ब्राउज़र में प्रदर्शित कॉन्टेंट और URL के बीच की पहचान को तोड़ देता है, जिससे फ़्रेमसेट के भीतर कॉन्टेंट के किसी विशेष आइटम को लिंक करना या बुकमार्क करना मुश्किल हो जाता है[9]
- विभिन्न ब्राउज़रों में फ्रेम का कार्यान्वयन असंगत है[9]*ब्राउज़र जो कॉन्टेंट को रैखिक रूप से प्रस्तुत करते हैं, फ़्रेम को अच्छी तरह से हैंडल नहीं करते हैं।[10]
- स्क्रीन रीडर प्रोग्राम
- पाठ या ऑडियो ब्राउज़र
- ईमेल ब्राउज़र जैसे अगोरा (वेब ब्राउज़र)[11]
- मोबाइल ब्राउज़र
- फ़्रेमिंग वेब अनुक्रमण को जटिल बनाता है और खोज इंजन अनुकूलन के लिए हानिकारक हो सकता है।[12]
- फ़्रेमिंग विभिन्न सर्वरों पर कॉन्टेंट के बीच की सीमाओं को भ्रमित करता है,[13] जो इस प्रकार कॉपीराइट उल्लंघन के मुद्दों को उठाता है[14]
- खोज इंजन से आने वाले विज़िटर फ़्रेम में प्रदर्शित करने के उद्देश्य से किसी पृष्ठ पर जा सकते हैं, जिसके परिणामस्वरूप विज़िटर के पास शेष साइट पर नेविगेट करने का कोई तरीका नहीं होता है[15]
- फ्रेम्स बैक बटन के व्यवहार को बदलते हैं।[15]* उपयोगकर्ता सामान्यतः ब्राउज़र से यह उम्मीद नहीं करते हैं कि वे फ्रेम को उसी प्रकार प्रिंट करें जैसे वे करते हैं।[14]* वेब पेजों पर बाहरी लिंक जो फ्रेम का उपयोग करते हैं, फ्रेमसेट में अन्य पेजों को प्रदर्शित करने का कारण बन सकते हैं, क्योंकि लिंक के लिए डिफ़ॉल्ट व्यवहार वर्तमान फ्रेम में लोड करना है यदि लेखक अन्यथा निर्दिष्ट नहीं करता है। इसका उपयोग फेक वेबमास्टरों द्वारा किया जा सकता है जिससे कि यह प्रदर्शित हो सके कि किसी अन्य साइट की कॉन्टेंट वास्तव में फ़्रेमसेट होस्ट करने वाली साइट का हिस्सा थी।
- यदि इस प्रकार स्क्रीन रिज़ॉल्यूशन या ब्राउज़र विंडो का आकार बहुत कम है, तो प्रत्येक फ़्रेम में स्क्रॉल बार होंगे जो त्रुटि दिख सकते हैं और इस प्रकार पहले से ही सीमित स्थान का उपयोग करते हैं। इस प्रकार का व्यवहार सामान्यतः खराब साइट डिज़ाइन (तरल लेआउट के अतिरिक्त निश्चित लेआउट) से अधिक होता है, जिससे सभी फ़्रेमसेट सुविधाओं को उचित उपयोग में नहीं लाया जाता था।
इस व्यवहार को निम्न द्वारा कम किया जा सकता है:- छोटे फ़्रेमों के लिए स्क्रॉलिंग को अक्षम करना जिन्हें सामान्यतः स्क्रॉलबार की आवश्यकता नहीं होती,
- तय डिजाइनों के अतिरिक्त लक्ष्य पृष्ठों में द्रव डिजाइन विशेषताओं का उपयोग करना, जिससे कि कॉन्टेंट पहले स्थान पर क्षैतिज स्क्रॉलबार का कारण न बने।
विकल्प
जैसे-जैसे वेब तकनीक विकसित हुई, वैसे-वैसे कई उद्देश्य जिनके लिए फ़्रेम का उपयोग किया गया, उन तरीकों से संभव हो गए जिससे फ़्रेम के साथ पहचानी जाने वाली समस्याओं से बचा जा सके।
- व्यापक शैली पत्रक (सीएसएस) ने पृष्ठ के एलिमेंटों को स्वतंत्र रूप से स्क्रॉल करने की अनुमति दी (
overflow
संपत्ति) या स्क्रीन पर आयोजित किया जाता है जबकि अन्य कॉन्टेंट स्क्रॉल की जाती है (उपयोग करकेposition:fixed
) - सर्वर-साइड में साझा कॉन्टेंट को बार संपादित करने की अनुमति दी जाती है और समाप्त पृष्ठ के हिस्से के रूप में क्लाइंट को स्वचालित रूप से डिलीवर किया जाता है, जैसे-जैसे सर्वर सीपीयू और कनेक्शन की गति में वृद्धि हुई, वैसे-वैसे इसे करने के लिए आवश्यक अतिरिक्त कार्य पर विचार कम होता गया।
- कॉमन गेटवे इंटरफ़ेस और वेब-ओरिएंटेड पटकथा भाषाएँ और वेब विकास फ्रेमवर्क जैसे कि PHP और सक्रिय सर्वर पेज , साथ ही डेटाबेस-समर्थित कॉन्टेंट प्रबंधन प्रणाली जैसे वर्डप्रेस के , कॉन्टेंट को बनाए रखने और नेविगेशन प्रदान करने के लिए अधिक समृद्ध विकल्प प्रदान करते हैं।
- क्लाइंट-साइड स्क्रिप्टिंग और डायनेमिक एचटीएमएल ने पृष्ठ के कुछ भागो को उपयोगकर्ता के कार्यों के आधार पर नेत्रहीन रूप से परिवर्तन करने की अनुमति दी। इसने फ़ुटनोट्स या निर्देशों जैसी साइड कॉन्टेंट को दिखाने के लिए और अधिक लचीलेपन की अनुमति दी, क्योंकि अब इन्हें पूर्व-निर्धारित फ़्रेम की आवश्यकता के अतिरिक्त पृष्ठ पर कहीं भी प्रदर्शित और छिपाया जा सकता है।
- AJAX कॉन्टेंट के पृष्ठ के भीतर गतिशील प्रदर्शन की अनुमति देता है, भले ही इसे सर्वर से लाने की आवश्यकता हो, उदाहरण के लिए लॉग इन उपयोगकर्ता या अन्य घटनाओं के आधार पर प्रदर्शित करते हैं।
यह भी देखें
- हाइपरलिंकिंग और फ़्रेमिंग के कॉपीराइट पहलू
- एचटीएमएल एलिमेंट फ्रेम्स
- इनलाइन लिंकिंग
- डीप लिंकिंग
- फ्रेमकिलर
- टेबललेस वेब डिज़ाइन
संदर्भ
- ↑ "अन्य वेबसाइटों से जुड़ना". 2 April 2013.
What makes framing different is that instead of taking the user to the linked website, the information from that website is imported into the original page and displayed in a special "frame." Technically, when you're viewing framed information, your computer is connected to the site doing the framing—not the site whose page appears in the frame.
- ↑ Garaffa, Dave (23 December 1996). "A Present From Apple: Cyberdog 2.0a1" (Press release). Internet.com. Archived from the original on 17 August 2000. Retrieved 14 April 2011.
- ↑ Ladd, Eric. "Using HTML 3.2, Java 1.1, and CGI; Ch. 13, Frames". Archived from the original on 30 October 2007.
- ↑ Shafer, Dan (1996). जावास्क्रिप्ट और नेटस्केप विजार्ड्री. Scottsdale, AZ: Coriolis Group Books. pp. 31. ISBN 978-1-883577-86-5.
- ↑ "XFrames वर्किंग ड्राफ्ट". W3C.
- ↑ HTML5 differences from HTML4: "The following elements are not in HTML5 because using them damages usability: frame, frameset, noframes"
- ↑ HTML5 differences from HTML4: "The iframe element has new attributes called sandbox and srcdoc which allow for sandboxing content, e.g. blog comments."
- ↑ "Framesets".
- ↑ 9.0 9.1 Nielsen, Jakob (December 1996). "फ्रेम्स ज्यादातर समय चूसते हैं".
- ↑ "Should You Use Frames?". HTML Code Tutorial.
- ↑ "G.E.Boyd's How To Do Just About Anything by email – Part 1". GeoCities. 11 August 2000. Archived from the original on 17 August 2000. Retrieved 24 June 2010.
- ↑ Moore-Eded, Piers. "एसईओ मूल बातें 1". Lewes SEO. Retrieved 25 February 2012.
- ↑ "I Hate Frames Club".
- ↑ 14.0 14.1 "Why are frames so evil?".
- ↑ 15.0 15.1 "वेब पेजों में फ्रेम्स के फायदे और नुकसान".