Opened on 06/24/2014 at 06:22:48 PM

Closed on 06/25/2014 at 09:06:17 AM

#717 closed defect (duplicate)

Anti-Adblock script detects ABP despite "disable on page"

Reported by: mapx Assignee:
Priority: P4 Milestone:
Module: Adblock-Plus-for-Firefox Keywords:
Cc: trev, arthur Blocked By:
Blocking: Platform:
Ready: yes Confidential: no
Tester: Verified working: no
Review URL(s):

Description (last modified by mapx)


firefox 31

How to reproduce

go to
create an account (it's free)
click paid ads (8) on the right side
choose one of the ads (50 BAP stuff), click it
there are 3 steps and then "proceed with advertisers website"

if easylist is enabled "proceed with advertisers website" won't be visible and a detecting message will be shown "Please disable AdBlock and refresh to continue..."

I want to whitelist the site, click ABP icon, click "disable on"

Refresh page ==> the detecting message is still shown !

If I choose "disable everywhere" ==> correct behaviour
If I uncheck easylist ==> correct behaviour

Repeat all the steps (sure don't need another account) in chrome (abp for chrome 1.8.3), the whitelisting will work correctly !

reported here:

Attachments (0)

Change History (9)

comment:1 Changed on 06/24/2014 at 06:26:14 PM by mapx

  • Description modified (diff)

comment:2 Changed on 06/24/2014 at 08:53:58 PM by mapx

  • Description modified (diff)

comment:3 Changed on 06/24/2014 at 08:59:34 PM by mapx

  • Cc arthur added

the filter

is working in abp for chrome, but it doesnt work in firefox
(working means getting rid of the detecting message)

Last edited on 06/24/2014 at 09:04:05 PM by mapx

comment:4 Changed on 06/25/2014 at 06:56:57 AM by philll

  • Summary changed from ABP for firefox "disable on page" does not work to ABP for firefox "disable on page" does not work for one specific case

comment:5 Changed on 06/25/2014 at 07:56:08 AM by trev

  • Summary changed from ABP for firefox "disable on page" does not work for one specific case to Anti-Adblock script detects ABP despite "disable on page"

comment:6 Changed on 06/25/2014 at 08:10:50 AM by trev

  • Blocked By 521 added
  • Priority changed from P2 to P4
  • Ready set

The following code from is responsible for this message:

var ads = document.getElementsByClassName('afs_ads'),
    ad = ads[ads.length-1];
if (!ad || ad.innerHTML.length==0 || ad.clientHeight===0)

This code is running via $(document).ready() meaning that it is executed on the DOMContentLoaded event. Unlike the load event, DOMContentLoaded event doesn't guarantee that the document is fully loaded. And in this particular case ad.clientHeight will be zero during DOMContentLoaded event but not the load event, simply a timing issue.

The timing difference is caused by an element hiding filter that applies to that element, an XBL binding has to load before the browser can determine whether the element should be shown. This is something that should be fixed by #521.

Reducing priority given that this is a long-standing issue that we can do fairly little about.

comment:7 Changed on 06/25/2014 at 08:36:14 AM by mapx

probably in chrome (where is working the exception filter and also the whitelisting) it's a different approach

comment:8 Changed on 06/25/2014 at 08:40:40 AM by trev

Yes, there is no global stylesheet in Chrome - #521 is for Firefox only.

comment:9 Changed on 06/25/2014 at 09:06:17 AM by trev

  • Blocked By 521 removed
  • Resolution set to duplicate
  • Status changed from new to closed

After discussing with philll - this isn't dependent on #521 but rather a duplicate of #521 (being one of the symptoms of that issue).

Add Comment

Modify Ticket

Change Properties
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none).
Note: See TracTickets for help on using tickets.