
저는 다양한 광고/영화/특별 제안 등을 시청하여 게임 내 프리미엄 통화를 얻을 수 있는 브라우저 게임을 하고 있습니다. 내 Firefox 애드온 Adblock Plus는 모든 광고를 차단하는 데 매우 효과적입니다. 스크립트가 광고를 시청 중인 것으로 인식하지 못하기 때문에(괜찮습니다) 에메랄드를 얻지 못하게 됩니다.
이러한 특별 광고는 다양한 외부 도메인의 IFrame에 로드됩니다. 그럼 대충 구조는 이렇습니다.
MainSite@DomainA > iframe#gameIframeID@DomainA > iframe#adIframeID@DomainB
따라서 MainSite에는 게임이 포함된 iframe과 광고가 포함된 또 다른 iframe이 포함되어 있습니다.
ABP-Rules를 처음 작성했기 때문에 지금까지 작동하는 솔루션을 찾지 못했습니다. ID(또는 클래스)가 있는 iframe 내의 모든 것을 허용하는 ABP 예외 규칙을 어떻게 만들 수 있습니까?adIframeID, 그러면 광고와 필요한 스크립트가 올바르게 로드되지만 MainSite의 광고는 여전히 정상적으로 차단됩니까?
특정 도메인을 화이트리스트에 추가하는 방법을 알고 있으므로 전체 광고 도메인을 화이트리스트에 추가할 수 있습니다. 하지만 이 도메인은 변경될 수 있으며 해당 광고는 이 게임 내에서만 표시되고 다른 곳에서는 표시되지 않습니다. ;-)
답변1
iFrame에 연결된 URL이 있는 경우(즉, 익명 iFrame이 아닌 경우) 다음과 같이 필터를 작성할 수 있습니다.
@@||example.com/iframe?showad=true$subdocument,document,domain=foo.com
iFrame의 URL이 "https://example.com/iframe?showad=true"이고 iFrame이 표시되는 도메인은 "foo.com"입니다.
이러한 필터는 iFrame(하위 문서)과 그 내부의 모든 항목(문서)을 허용 목록에 추가합니다.