HTML <blink> और <marquee> (2020)
(danq.me)- 1990 के दशक के personal homepages “latest updates” को ज्यादा उभारने के लिए अक्सर blinking और scrolling text इस्तेमाल करते थे, और ये दोनों tags अब मुश्किल से दिखने वाली web culture की निशानियां बन गए हैं
<blink>1995 में Netscape Navigator 2.0 में शामिल किया गया tag था; Lou Montulli को अक्सर इसके idea का स्रोत बताया जाता है, लेकिन उन्होंने साफ किया कि actual implementation code उन्होंने नहीं लिखा था- उसी साल Microsoft Internet Explorer 2.0 ने
<marquee>पेश किया, जो scrolling direction, speed, repeat और back-and-forth behavior नियंत्रित करने वाले attribute-based effects देता था - दोनों tags को nest करने पर Netscape में blinking दिखती थी, IE में scrolling दिखती थी, और support न करने वाले browsers में भी text खुद पढ़ा जा सकता था
<blink>लगभग गायब हो चुका है और<marquee>कुछ modern browsers में बचा हुआ है, लेकिन actual websites पर यह accessibility और usability को नुकसान पहुंचाने वाली digital nostalgia के ज्यादा करीब है
1990 के दशक के browsers से बनी visual effects की प्रतिस्पर्धा
<blink>और<marquee>personal homepages पर ध्यान खींचने के लिए 1990s-style web design के प्रमुख elements थे- Macromedia Dreamweaver भी शायद
<blink>को<marquee>में wrap करने के तरीके को anti-pattern की तरह treat करता था -
<blink>: मजाक से व्यापक रूप से इस्तेमाल हुए tag तक<blink>का invention आम तौर पर Lou Montulli को दिया जाता है, लेकिन उन्होंने बताया कि final implementation code उन्होंने खुद नहीं लिखा था- Montulli 1994 में Netscape से जुड़ने से पहले text-only browser Lynx बनाने वाले व्यक्ति थे
- एक किस्सा है कि जब Netscape engineers visual effects propose कर रहे थे, तो उन्होंने कहा कि ये Lynx में काम नहीं करेंगे, और मजाक में कहा कि दोनों browsers में संभव सबसे flashy effect text को on और off करना होगा
- इसके बाद नाम सार्वजनिक न किए गए एक अन्य engineer ने देर रात काम करके
<blink>add किया - Netscape Navigator 2.0 ने 1995 में
<blink>support जोड़ा, और उसी दौर में animated GIF और JavaScript का शुरुआती रूप भी शामिल था - इसका usage attributes के बिना एक simple structure था, जैसे
<BLINK>This is my blinking text!</BLINK> - दो साल बाद HTML4 recommendation आने के समय तक
<blink>को मजाक के तौर पर document किया गया था, लेकिन 1990 के दशक के अंत के web में यह काफी इस्तेमाल हुआ - personal homepages के “latest updates” title या पूरे block को wrap करने के लिए इसका इस्तेमाल होता था, और उस दौर का माहौल Cameron’s World में अनुभव किया जा सकता है
-
<marquee>: Internet Explorer का scrolling text- Microsoft ने Netscape Navigator 2.0 वाले ही साल Internet Explorer 2.0 जारी किया
- Internet Explorer उस समय Netscape द्वारा implement की गई features की बराबरी करने के चरण में था, लेकिन
<blink>की जगह<marquee>लेकर आया <marquee>कई attributes के जरिए scrolling direction, speed, repeat की स्थिति और आगे-पीछे bounce करने वाला behavior control कर सकता था- उदाहरण है
<MARQUEE>Oh my god this still works in most modern browsers!</MARQUEE>, और यह कुछ modern browsers में अब भी काम कर सकता है
दोनों tags को overlap करने पर क्या हुआ
- 1990 के दशक के अंत में जिस content को highlight करना हो, उसे
<blink>और<marquee>दोनों से wrap करने का तरीका भी कुछ हद तक आम था- उदाहरण है
<MARQUEE><BLINK>This is my really important message!</BLINK></MARQUEE> - Netscape users blinking text देखते थे, और IE users scrolling या back-and-forth moving text देख सकते थे
- उदाहरण है
- यह तरीका web की उस खासियत से जुड़ा था जिसमें browser अज्ञात elements को ignore करके rendering जारी रखता है
- Postel’s Law के अनुसार, browser को समझ में न आने वाला input होने पर भी user को best possible rendering देनी चाहिए
- modern
<video>element के self-closing tag के बजाय block form में होने की वजह भी यह है कि<video>को न जानने वाले पुराने browsers अंदर का fallback code पढ़ सकें
- जिन browsers को इन दोनों में से कोई भी tag नहीं पता था, उनमें भी content text पढ़ा जा सकता था
- supported browsers में ही flashy effects जोड़ना और बाकी environments में basic text छोड़ना, इस मायने में progressive enhancement के करीब है
- JavaScript और CSS भी इसी rule से apply किए जा सकते हैं, जिससे maintainability और accessibility में मदद मिलती है
आज यह historical trace के ज्यादा करीब feature है
- Netscape 7 2002 में
<blink>और<marquee>दोनों को support करने वाला एक दुर्लभ browser था- support order और nested elements को लेकर कुछ मुश्किल बातें थीं, लेकिन कुछ personal webpages में scrolling और blinking एक साथ दिखाई देते थे
<blink>आज लगभग dead tag है, और अगर इसकी सच में जरूरत हो तो CSS से मिलता-जुलता effect बनाया जा सकता है<marquee>अब भी जिंदा है- polyfill के अलावा कुछ browsers में native support भी बचा हुआ है
- फिर भी actual websites में
<marquee>इस्तेमाल करने से बचना चाहिए
- digital nostalgia का आनंद लेने के लिए यह दिलचस्प material है, लेकिन दूसरे users पर blinking और moving text थोपने की कोई वजह नहीं है
1 टिप्पणियां
Hacker News की रायें
https://web.archive.org/web/20201111125145/https://danq.me/2...
लगता है जैसे यह 3,000 साल पहले की बात हो
याद है जब हम इस बात पर लड़ते थे कि frames के अंदर navigation इस्तेमाल करना खराब practice है या नहीं। iframe नहीं, frames की बात कर रहा हूँ। AJAX से पहले, page refresh किए बिना server को message भेजने के लिए HTTP 204 इस्तेमाल करते थे, और 2000s की शुरुआत में Dreamweaver से देश के map पर राज्यों की सीमाएँ कई-कई दिन खींचकर clickable image maps बनाते थे
Dreamweaver template update से changes उड़ जाएँ तो version control न होने की वजह से recover करने का कोई तरीका नहीं होता था, और backend पर image की click position भी process करते थे। Motion JPEG से page updates stream करते थे, और IE में PNG alpha blending ठीक करने के लिए कई steps से गुजरते थे, फिर कभी-कभी ActiveX तरीके पर निर्भर होना पड़ता था
Java, Flash, Silverlight से site navigation बनाया, और spacer GIFs, conditional comments, और Firebug कितने उद्धारक जैसे लगते थे—यह भी याद है। कब बूढ़ा हो गया, पता नहीं; एक दिन बस ऐसा ही हो गया
Responsive भी चाहिए था, पर उस समय इसका मतलब ज़्यादातर अलग-अलग desktop sizes को संभालना था, और आम तौर पर corners काटकर table cells में रखना पड़ता था। ऐसी चीज़ें हाथ से करते-करते developer के रूप में एक अजीब-सी सहनशीलता बन जाती है
designs 800x600 के लिए सबसे अच्छे fit होते थे, और वे सारे पल समय में ऐसे खो गए जैसे बारिश में आँसू
IE4+ के दौर में शायद वही सबसे elegant तरीका था
यह मैंने पहले बनाया था; जब भी दिखाता हूँ, लोग इस बात से हैरान होते हैं कि इसमें JavaScript बिल्कुल नहीं है। सारी animations सिर्फ marquee tag से बनी हैं: https://udel.edu/~ianozi/
marquee में मेरी सबसे पसंदीदा technique थी अलग-अलग directions में nest करना
inner marquee को outer marquee की उलटी direction में, same speed पर चलाएँ तो content scroll होकर रुकता हुआ दिख सकता था, और अगर कई levels पर speeds alternate करें तो random तरीके से उछलने जैसा effect भी मिल सकता था। शायद इसके काम करने के लिए inner marquee को max width देनी पड़ती थी
marquee के बहुत useful होने की एक वजह है: HTML injection
marquee चलता है, और यह ऐसा tag है जिसे जानबूझकर लगभग कोई इस्तेमाल नहीं करता, इसलिए HTML injection vulnerability test करते समय attack सफल हुआ या नहीं, पहचानना आसान होता है। non-technical लोगों को भी “यह हिलना नहीं चाहिए, लेकिन हिल रहा है” समझाना “यह text bold नहीं होना चाहिए, लेकिन bold है” से कहीं ज्यादा असरदार है
(2020)marquee की तरह बह रहा था<plaintext>tag इस्तेमाल करता आया हूँ। यह ऐसा element है जिसे close नहीं किया जा सकता, इसलिए document के बाकी हिस्से को raw HTML में बदल देता है और बहुत साफ़ नजर आता हैhttps://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...
blink tag से तो जाहिर है लोग शुरू से ही काफी नफरत करते थे, और मैंने प्रयोग के तौर पर इस्तेमाल कर रहे browser binary—शायद Netscape—में
"blink"खोजकर उसे"blonk"से बदल दिया था। बस, अब blinking बंद हो गईgets()के आसपास की बेकार nagging को शांत करने के लिए"__gnu_warning"को"__gnu_whining"में बदल दिया थाबेशक buffer overrun हो सकता है, लेकिन अगर कोई throwaway program इस्तेमाल कर रहे हैं, तो बस buffer overflow मत कराइए
जैसे notification hide करना या यह signal भेजने वाली सुविधा बंद करना कि मैं message लिख रहा हूँ
“जानवर प्रतिशोध के घूमते बादलों से घिरा प्रकट होगा। अविश्वासियों के घर ढह जाएँगे और वे धरती तक जला दिए जाएँगे। उनके tags कयामत के दिन तक blink करते रहेंगे।”
यह
about:mozillaके The Book of Mozilla, 12:10 से लिया गया अंश है, और अब Mozilla धरती तक जल रहा है। समाप्तमेरा दोस्त missing escape और संभावित XSS जल्दी check करने के लिए हमेशा अपना middle name tags में wrap करता था। पहले यह हैरानीजनक रूप से अच्छी तरह problems पकड़ लेता था
यह comment अभी निर्माणाधीन है। updates देखने के लिए कृपया बार-बार वापस आएँ
[NEW]भी मत भूलिएलोगों के इन elements को नापसंद करने की एक वजह यह है कि इनका बहुत दुरुपयोग हुआ
लेकिन उसी दुरुपयोग की वजह से बहुत लोगों ने HTML खुद आजमाया। HTML पहली बार इस्तेमाल करने वाले के लिए blink या marquee आजमाना काफी rewarding था, और HTML की दुनिया का gateway drug जैसा था
ऐसे elements इस्तेमाल करने वाले लोग भी आखिरकार सीख गए होंगे कि इन्हें इस्तेमाल नहीं करना चाहिए, या फिर वह mySpace page रहा होगा और वे इस्तेमाल करते रहे होंगे। blink और marquee का मजाक उड़ाना आसान है, और यह वैसा ही है जैसे graphic designer Comic Sans इस्तेमाल करने वालों को नीची नजर से देखते हैं, लेकिन ऐसी वर्जनाओं ने लोगों को “चलो, इसे आजमाते हैं” वाला आत्मविश्वास देने में बहुत काम किया