इस सवाल की उम्र के बावजूद, मैंने हाल ही में इसे बहुत उपयोगी पाया और इसलिए केवल यह मान सकता है कि अन्य अभी भी इसे देख रहे हैं। यहाँ और दूसरी जगहों पर देखने के बाद, मैंने देखा कि एक मुख्य अवरोधक का पता लगाने के लिए मुख्य तीन ग्राहक पक्ष जाँच के लिए थे, जो निम्न थे div:img , अवरुद्धiframe और अवरोधित संसाधनों (जावास्क्रिप्ट फ़ाइलें)।
हो सकता है कि यह शीर्ष या विरोधाभास पर हो, लेकिन यह विज्ञापन अवरोधक प्रणालियों के लिए शामिल है जो चयन में से केवल एक या दो को रोकते हैं और इसलिए कवर नहीं किया गया हो सकता है कि आपने केवल एक चेक किया था।
पृष्ठ पर आपके द्वारा जोड़े जा रहे चेक जोड़े जा रहे हैं: (मैं jQuery का उपयोग कर रहा हूँ)
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="advertisement.js"></script>
<script type="text/javascript" src="abds.js"></script>
और पृष्ठ पर कहीं और निम्नलिखित जोड़ें:
<div id="myTestAd"><img src="http://placehold.it/300x250/000000/ffffff.png&text=Advert" /></div>
मैंने टेक्स्ट नाम के साथ बाहरी रूप से होस्ट की गई छवि के साथ "एडवर्ट" और AdSense द्वारा उपयोग किए गए आयामों (प्लेसहोल्ड के लिए धन्यवाद!) के साथ एक डिव का उपयोग किया।
में advertisement.jsआप दस्तावेज़ जो हम बाद के लिए जाँच कर सकते हैं के लिए कुछ संलग्न करना होगा। हालाँकि ऐसा लगता है कि आप पहले की तरह ही कर रहे हैं, आप वास्तव में फ़ाइल ( advertisement.js) के लिए ही लोड हो रहे हैं, आउटपुट नहीं।
$(document).ready(
{
$("body").append("<div id=\"myTestAd2\">check</div>");
});
और फिर विज्ञापन अवरोधक पहचान स्क्रिप्ट जो सब कुछ जोड़ती है
$(document).ready(function()
{
var ifr = '<iframe id="adServer" src="http://ads.google.com/adserver/adlogger_tracker.php" width="300" height="300"></iframe>';
$("body").append(ifr);
});
$(window).on("load",function()
{
var atb = $("#myTestAd");
var atb2= $("#myTestAd2");
var ifr = $("#adServer");
setTimeout(function()
{
if( (atb.height()==0) ||
(atb.filter(":visible").length==0) ||
(atb.filter(":hidden").length>0) ||
(atb.is("hidden")) ||
(atb.css("visibility")=="hidden") ||
(atb.css("display")=="none") ||
(atb2.html()!="check") ||
(ifr.height()!=300) ||
(ifr.width()!=300) )
{
alert("You're using ad blocker you normal person, you!");
}
},500);
});
जब दस्तावेज़ तैयार हो जाता है , अर्थात मार्कअप लोड हो जाता है, तो हम दस्तावेज़ में iframe भी जोड़ते हैं। फिर, जब विंडो लोड हो जाती है , अर्थात सामग्री झुकाव। चित्र आदि लोड किए गए हैं, हम जांचते हैं:
- पहले टेस्ट डिव के आयाम और दृश्यता।
- कि दूसरे टेस्ट डिव का कंटेंट "चेक" है, जैसा कि अगर
advertimsent.jsऐसा नहीं होता ब्लॉक ।
- आयाम (और मैं दृश्यता का अनुमान लगाता हूं, क्योंकि एक छिपी हुई वस्तु की कोई ऊंचाई या चौड़ाई नहीं है?)
और शैलियों:
div#myTestAd, iframe#adServer
{
display: block;
position: absolute;
left: -9999px;
top: -9999px;
}
div#myTestAd2
{
display: none;
}
उम्मीद है की यह मदद करेगा