- यह ब्लॉग, जब ad blocker detect नहीं होता, तब विज़िटर को uBlock Origin जैसे विश्वसनीय ad blocker इंस्टॉल करने की सलाह देता है
- यह recommendation message user experience में बाधा न डाले इस तरह डिज़ाइन किया गया है, और एक बार बंद करने पर दोबारा दिखाई नहीं देता
- implementation में
nativeads.js script और ad-संबंधित class names से भरे <div> का उपयोग किया गया है, ताकि अगर ad blocker element या network request को block कर दे, तो message दिखे ही नहीं
- message को एक बार बंद करने पर cookie में याद रखा जाता है, CSS के ज़रिए स्क्रीन के एक किनारे पर छोटा-सा दिखता है, content को नहीं ढकता, और JavaScript disabled browser में नहीं दिखता
- DNS blocking को detect करने का तरीका नहीं है, इसलिए लेखक ने इसके बजाय non-intrusive और आसानी से बंद किए जा सकने वाले notice के रूप में इसे implement किया है
ad blocker recommendation message की ज़रूरत
- इंटरनेट ads यूज़र का समय बर्बाद करते हैं, और ad industry पूरे इंटरनेट environment पर नकारात्मक प्रभाव डालती है
- साइट की आमदनी बहुत कम हो जाती है, इसलिए कई websites ads से पटी निम्न-गुणवत्ता वाली pages में बदल जाती हैं
- अगर आप creators की मदद करना चाहते हैं, तो ads देखने के बजाय सीधा समर्थन (1 dollar भी प्रभावी है) कहीं अधिक प्रभावी है
ad blocker recommendation message का डिज़ाइन उद्देश्य
- ज़्यादातर users ads को इंटरनेट अनुभव का हिस्सा मानते हैं, इसलिए लेखक साइट पर सीधे message दिखाता है
- "No adblocker detected. Consider using an extension like uBlock Origin to save time and bandwidth. Click here to close." यह message पेज के नीचे दाईं ओर छोटे रूप में दिखता है
- यह content को नहीं ढकता, और message बंद करने पर फिर दिखाई नहीं देता
- अगर window छोटी हो, तो message नहीं दिखता
- सिर्फ़ किसी खास extension (uBlock Origin) का ज़िक्र करने का कारण यह है कि users अक्सर विज्ञापनों के ज़रिए ad blocker तक पहुँचते हैं, और commercial ad blockers के जोखिम व भ्रामक स्वभाव की वजह से
- ads से प्रचारित ad blockers अंततः users से ही कमाई करते हैं
implementation method और तकनीकी बिंदु
- HTML में ad blocker message के लिए div area मौजूद है, जिसमें ads से जुड़े कई class names शामिल हैं
- message जोड़ने का काम
/nativeads.js नाम की JavaScript file करती है
- यह cookie के आधार पर message का one-time display सुनिश्चित करती है
- "Click here to close." पर click करने पर div hide होता है और cookie update होती है
- CSS के ज़रिए message की visual position और styling तय की जाती है
- सिर्फ़ पर्याप्त screen space होने पर इसे नीचे दाईं ओर fixed दिखाया जाता है
- अगर ad blocker उस div element या nativeads.js file को block (हटा दे या request block कर दे) कर दे, तो message खुद ही render नहीं होता
- ads-संबंधित अलग-अलग class names के ज़रिए ज़्यादातर ad blockers को div हटाने के लिए प्रेरित किया जाता है
- खास तौर पर network blocking-केंद्रित (adblock lite आदि) extensions में भी script network request block होने पर message गायब हो जाता है
- DNS-आधारित ad blocking तक detect न कर पाने की सीमा मौजूद है
- जो browsers JavaScript support नहीं करते, उनमें ad blocker की ज़रूरत नहीं होती, इसलिए message भी नहीं दिखाया जाता
- CSS लागू न होने पर भी message कार्यात्मक रूप से काम करता है (बिना styling के दिखता है)
3 टिप्पणियां
मैं
Brave browserकी सिफारिश करता हूँHacker News राय
ublockorigin.comअसली uBlock Origin developer Raymond Hill की मिल्कियत नहीं है। ऊपर से देखने पर इरादा अच्छा लगता है और UI भी ठीक है, लेकिन यह Hill के नियंत्रण में नहीं दिखता, इसलिए malware जैसी चीज़ों के लिए संभावित खतरे का बिंदु हो सकता है। Hill का आधिकारिक चैनल https://github.com/gorhill/uBlock है। देखने लायक लिंक हैं README.md और Wikidocument.write()इस्तेमाल करती थीं, इसलिए वे तुरंत execute होकर चीज़ों को slow कर देती थीं। पता नहीं आज भी ऐसा होता है या नहींमेरे ब्लॉग में भी पहले से ऐसा संदेश दिखाया जाता था कि अगर ad blocker न मिले तो उसे इंस्टॉल करने की सलाह दी जाए, इसलिए यह जानकर अच्छा लगा कि ऐसा सिर्फ मैं ही नहीं कर रहा था।