جافا سكريبت لاكتشاف وجود سلوك مرتبط بحظر الإعلانات أثناء تسليم الصفحة.
تم اختبار JavaScript (adblockDetector.js) لاكتشاف السلوكيات المرتبطة بحظر الإعلانات في متصفحات الويب التالية:
يقوم البرنامج النصي بذلك عن طريق إنشاء مجموعة من عناصر DIV التي من المحتمل أن تكون مخفية بواسطة أدوات حظر الإعلانات المستندة إلى المتصفح.
التكتيكات الإضافية التي لم يتم تضمينها بعد في هذا البرنامج النصي:
قم بتنزيل البرنامج النصي للكشف المطلوب وأضفه إلى موقع الويب الخاص بك. هناك عدة طرق مختلفة لتضمين JavaScript في HTML.
اسم البرنامج النصي | وصف |
---|---|
adblockDetector.js | البرنامج النصي للكشف عن Adblocker بدون وحدة Google Analytics |
adblockDetectorWithGA.js | البرنامج النصي للكشف عن Adblocker مع وحدة Google Analytics |
باستخدام AdBlockDetectionWithGA.js، يُطلب منك ذكر معرف تتبع GA الخاص بك في البرنامج النصي على السطر رقم 82. عندما تشير إلى هذا البرنامج النصي، فإنه يتتبع أحداث معينة تتعلق بـ AdBlock على متصفح المستخدم. يمكنك عرض التفاصيل في لوحة تحكم Google Analytics. فيما يلي كيفية التحقق مما إذا كان المستخدم يستخدم أي Adblock أم لا.
أولاً، نقترح عليك إنشاء معرف تتبع GA مختلف حتى لا يتداخل مع مشاهدات صفحتك. اتبع الخطوات التالية لـ GA بشأن استخدام Adblock.
لسوء الحظ، لم نكتشف بعد كيفية وضعه على لوحة القيادة. لذا، في المرة القادمة عندما تذهب إلى GA، يمكنك الانتقال إلى User Explorer -> انقر فوق "إضافة شريحة جديدة". وستجد الشرائح التي قمت بإنشائها مسبقًا (على سبيل المثال، واحدة لمستخدمي Adblock المكتشفين وواحدة لمستخدمي NotDetected لحظر الإعلانات.). يمكنك تحديدها والنقر فوق "تطبيق" لرؤية البيانات المبلغ عنها.
ينبغي أن تبدو الصورة أدناه.
هذه هي الطريقة الموصى بها للتضمين. يجب تضمين الوظائف الموجودة في البرنامج النصي للكشف المختار مباشرةً في HTML الخاص بالإطار الأصلي.
قم بذلك عن طريق تغليف محتوى التعليمات البرمجية المحددة في علامات البرنامج النصي في HTML الذي تم تسليمه.
من الممكن استضافة الكود المحدد على خادم الويب الخاص بك كملف مستقل، والإشارة إلى هذا الملف من ملف HTML الذي تم تسليمه.
إذا كنت تستخدم ملف نصي خارجي، فيمكن حظره بواسطة أدوات حظر الإعلانات. سيؤدي استخدام اسم مختلف للملف إلى تقليل احتمالية حظره بواسطة عوامل التصفية العامة.
من الممكن دمج الوظائف من التعليمات البرمجية المحددة في مكتبة البرامج النصية الموجودة، والتي يتم استضافتها كملف برنامج نصي خارجي. قد يؤدي القيام بذلك إلى تقليل وظائف الموقع للزائرين الذين يستخدمون أدوات حظر الإعلانات الذين يحاولون تجنب اكتشافهم، إذا قامت أدوات حظر الإعلانات بحظر ملف البرنامج النصي الخارجي بالكامل.
@أعلام الدعامة
خيار | يكتب | وصف |
---|---|---|
تصحيح | منطقية | يشير إلى ضرورة طباعة مخرجات تصحيح إضافية على وحدة التحكم |
وجد | سلسلة (@وظيفة) | وظيفة إطلاق النار إذا تم اكتشاف Adblock |
غير موجود | سلسلة (@وظيفة) | وظيفة لإطلاق النار إذا لم يتم الكشف عن Adblock. لاحظ أن هذا سيتم تنشيطه في كل مرة لا يتم فيها اكتشاف Adblock، ويجب أن يوفر مدخلات للإجراء المتخذ فقط بعد اكتشاف "مكتمل". |
مكتمل | سلسلة (@وظيفة) | وظيفة إطلاق النار بمجرد اكتمال الاختبار. |
يتم تضمين نتيجة الاختبار (المنطقية) كمعلمة لمثال رد الاتصال:
window . adblockDetector . init (
{
found : function ( ) { ... } ,
notFound : function ( ) { ... }
}
) ;
أضف الكود أدناه في صفحة HTML.
< script src = "./adblockDetector.js" > < / script >
< script >
// Configure the adblock detector
( function ( ) {
var enabledEl = document . getElementById ( 'adb-enabled' ) ;
var disabledEl = document . getElementById ( 'adb-not-enabled' ) ;
function adBlockDetected ( ) {
enabledEl . style . display = 'block' ;
disabledEl . style . display = 'none' ;
}
function adBlockNotDetected ( ) {
disabledEl . style . display = 'block' ;
enabledEl . style . display = 'none' ;
}
if ( typeof window . adblockDetector === 'undefined' ) {
adBlockDetected ( ) ;
} else {
window . adblockDetector . init (
{
debug : true ,
found : function ( ) {
adBlockDetected ( ) ;
} ,
notFound : function ( ) {
adBlockNotDetected ( ) ;
}
}
) ;
}
} ( ) ) ;
< / script >
أضف الكود أدناه في نص صفحة HTML
< div class =" center " >
< h5 class =" bg-success " id =" adb-not-enabled " style =" display: none; " > AdBlock is disabled </ h5 >
< h5 class =" bg-danger " id =" adb-enabled " style =" display: none; " > AdBlock is enabled </ h5 >
</ div >
شوكة ذلك! قم بإنشاء فرع الميزات الخاص بك: git checkout -b my-new-feature تنفيذ التغييرات: git الالتزام -am "أضف بعض الميزات" ادفع إلى الفرع: git Push Origin my-new-feature أرسل طلب سحب