Page 1 of 1

애드블록플러스 0.7.*에서 DIV차단하기??

Posted: 2006 06 04 20:15 45
by 후니미닉
애드블록 플러스 0.7.*개발자 사이트에 가보니 FAQf란에 Why was "DIV blocking" removed? 항목이 있던군요.
들어가보니 It wasn't really removed, but rather replaced by a more powerful and more efficient feature: element hiding.(이것은 진짜로 지워지진 않았다, 하지만 오히려 더 강력하고 유능한 기능: element hiding으로 대체되었다.)라는 군요.
그래서 element hiding로 들어가 봤는데 어떻게 써먹는지 하나도 모르겠습니다.
이거좀 알기 쉽게 번역해 주실분 안계신가요?

Posted: 2006 06 05 13:04 06
by 화성
그 글에서 예로 드는 것 위주로 간단하게 설명해보겠습니다.

Code: Select all

<div>
Cheapest tofu, only here and now!
</div>
<div>
Really cheap tofu, click here!
</div>
<textad>
Only here you get the best tofu!
</textad>
  • #div(textad) - 첫번째 앨리먼트를 없앰
    #div(sponsorad) - 두번째 앨리먼트를 없앰
    #textad - 세번째 앨리먼트를 없앰
즉, '#' 다음에 앨리먼트(태그) 이름이 오고, '*'를 사용하면 모든 앨리먼트에 적용됩니다(예: #*(sponsorad) 역시 두번째 앨리먼트를 없앰). 괄호 안에 있는 값은 id 또는 class 속성의 값과 비교합니다.
  • #table(width=80%) - width 속성이 '80%'인 table
    #div(title*=adv) - title 속성이 'adv'를 포함하고 있는 div
    #div(title^=adv)(title$=ert) - title 속성이 'adv'로 시작하고 'ert'로 끝나는 div
즉, 괄호 안에 '속성이름=값'의 형태로 조건을 넣을 수 있고, 괄호를 여러개 사용해 다수의 조건을 지정할 수 있습니다.
  • ##div.adheader + *
'#' 두 개를 써서 CSS selector를 사용할 수도 있습니다. 즉, 위의 코드는 class 속성이 'adheader'인 div 앨리먼트의 바로 다음에 오는 앨리먼트에 적용됩니다.

마지막으로 '#' 앞에 도메인을 지정할 수도 있습니다. domain.com#*(sponsor)는 'http://domain.com/' 또는 'http://something.domain.com/'에서만 적용됩니다. 또 다음과 같이 ','로 구분해 다수의 도메인을 지정할 수도 있습니다.
  • domain1.com,domain2.com,domain3.com#*(sponsor)
이 정도면 될까요? :D

Posted: 2006 06 06 14:25 46
by 후니미닉
해보니 되긴 되는데 와일드 카드 및 정규표현식을 쓸 수가 없더군요...
애드블록은 정규표현식으로 수십개의 광고를 한방에 즐!시키는 것이 묘미인데...
그걸쓸 수 없다면...
DIV 차단은 0.5.*버전이 훨씬 쓰기 쉽고 간단한데 왜 이딴식으로 바꾼게냐!!!! 젠장!

Posted: 2006 06 06 16:19 34
by 화성
전 쉬운 확장과 효율성 때문이 아닐까 생각합니다. 0.5 버전대에서는 div만 막을 수 있었으니까요. 정규식을 사용할 수는 없지만 CSS 선택자를 사용할 수 있으니 더 낫지 않나 생각합니다(UserContent.css를 통해 어느정도 가능했지만).