Opened 5 years ago

Closed 5 years ago

#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)

Environment

ABP 2.6.3.3836
firefox 31
easylist

How to reproduce

go to http://paidverts.com/
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 paidverts.com"

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 ...you don't need another account) in chrome (abp for chrome 1.8.3), the whitelisting will work correctly !

reported here:
https://adblockplus.org/forum/viewtopic.php?f=1&t=23720

Change History (9)

comment:1 Changed 5 years ago by mapx

  • Description modified (diff)

comment:2 Changed 5 years ago by mapx

  • Description modified (diff)

comment:3 Changed 5 years ago by mapx

  • Cc arthur added

the filter

paidverts.com#@#.afs_ads

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

Last edited 5 years ago by mapx (previous) (diff)

comment:4 Changed 5 years ago 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 5 years ago 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 5 years ago by trev

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

The following code from http://paidverts.com/assets/scripts/paidads_view.js 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 5 years ago by mapx

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

comment:8 Changed 5 years ago by trev

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

comment:9 Changed 5 years ago 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).

Note: See TracTickets for help on using tickets.