HTML हैकिंग की चतुराई
- HTML हैकिंग की ज़रूरत: कभी-कभी HTML कोड की विफलता या ब्राउज़र इम्प्लीमेंटेशन की कमी के कारण अपेक्षित परिणाम पाने के लिए कम सुरुचिपूर्ण कोड लिखना पड़ता है। ऐसे हैक कई बार रचनात्मक होते हैं और याद रखने लायक भी।
- Netscape Navigator 4.0 @import हैक: इससे उन CSS styles को ब्लॉक करना संभव हुआ जिन्हें Netscape सपोर्ट नहीं करता था। Netscape CSS की बजाय JSSS का समर्थन करता था, लेकिन जब W3C ने CSS को चुना तो Netscape 4 का CSS इम्प्लीमेंटेशन जल्दबाज़ी में किया गया, और इसी वजह से बाद के ब्राउज़रों की तुलना में इसकी क्षमता कमज़ोर रही।
- लेआउट के लिए HTML table का उपयोग: इससे अधिक प्रयोगात्मक लेआउट संभव हुए। HTML table को लेआउट टूल की तरह इस्तेमाल करना हैकिंग की परिभाषा जैसा है, और ईमेल की दुनिया में यह आज भी इस्तेमाल होता है।
- CSS style के आगे underscore का उपयोग: इससे कुछ styles केवल IE6 पर लागू किए जा सकते थे। यह IE की special characters को parse करने की सीमा का फायदा उठाता था।
- PNG transparency के लिए AlphaImageLoader का उपयोग: यह उन PNG फ़ाइलों की transparency render करता था जिन्हें IE6 सपोर्ट नहीं करता था। यह image को filter के ज़रिए चलाता था।
- Conditional comments: इससे कुछ खास tricks केवल IE के विशेष versions में इस्तेमाल की जा सकती थीं। यह HTML comments फीचर को हैक करके code को execute होने लायक बना देता था।
- Scalable Inman Flash Replacement (sIFR): इससे non-web-safe fonts का उपयोग संभव हुआ। यह एक JavaScript हैक का उपयोग करता था जो text को Flash embed से बदल देता था।
- Preheader text हैक: यह ईमेल में अतिरिक्त text को description line में बहकर आने से रोकता था। इसके लिए non-standard या असामान्य whitespace characters के sequence का उपयोग किया जाता था।
- Google Chrome Frame: यह IE6 को Chrome विंडो से बदल देता था। इसे browser plugin के माध्यम से लागू किया गया था।
- Webkit-विशेष selector हैक: यह CSS code को केवल Webkit ब्राउज़रों पर लागू करता था। यह पहचानता था कि कोई विशेष browser किसी विशेष CSS code को सपोर्ट करता है या नहीं।
- Responsive design: यह अलग-अलग settings, खासकर tablet और mobile पर, जानकारी को प्रभावी ढंग से व्यवस्थित करता है। ज़्यादातर मामलों में media queries का उपयोग करके डिवाइस के अनुसार जानकारी रखी जाती है।
GN⁺ की राय
- सबसे महत्वपूर्ण बात यह है कि डेवलपर्स ने HTML और CSS standards की सीमाओं से बाहर जाकर रचनात्मक समाधान खोजे।
- यह लेख दिलचस्प और आकर्षक है क्योंकि यह दिखाता है कि web developers ने ब्राउज़र की सीमाओं को पार करने और user experience बेहतर बनाने के लिए किस तरह रचनात्मक hacks का उपयोग किया।
- ये hacks web standards के विकास और बेहतर web design के लिए डेवलपर्स की लगातार कोशिशों को दर्शाते हैं।
1 टिप्पणियां
Hacker News टिप्पणियाँ
लेआउट के लिए table का इस्तेमाल करना समझ में आता है।
spacer.gif को कोई सम्मान नहीं मिला।
मेरी पसंदीदा तकनीकें:
HN आज भी इनमें से एक तकनीक का उपयोग करता है:
accessibility के लिए heading को स्क्रीन पर दिखाई न देने के लिए -10000 position पर रखने का ज़िक्र नहीं है।
CSS से पहले HTML5 shiv लगाकर सभी browsers की quirks हटाने की बात का उल्लेख नहीं है।
वे अच्छे पुराने दिन याद हैं जब transparent 1×1 pixel gif का उपयोग करके table cell को control किया जाता था।
शुरुआती दौर में व्यापक रूप से इस्तेमाल हुए
, यानी non-breaking space character entity, पर एक और टिप्पणी:कभी-कभी समझ नहीं आता कि modern web developers CSS Grid और IE के अंत की वजह से बिगड़ गए हैं, या हम उस समय बिगड़े हुए थे क्योंकि हमें complex modern frameworks और build process से नहीं जूझना पड़ता था।
यह सवाल कि responsive design सच में hack है या नहीं: