
rabbithole
82 users
Version: 1.0.1
Updated: May 2, 2017

Available in the
Chrome Web Store
Chrome Web Store
Install & Try Now!

Nike Tiempo Legend 10 Academy IC 'Mad Ambition Pack' | Blue | Men's Size 12.5

Cl� De Peau Beaut� Cream Rouge Matte Lipstick 121 Strawberry Rhubarb

First Alert 3-in-1 Explosive Gas & Carbon Monoxide Alarm

First Alert SA350B Smoke Alarm, 9V, Lithium, Ionization

Hardwired Smoke Alarm, 10-Year Battery Backup by Brk 1046850

Microsoft Forza Horizon 5: Premium Edition Xbox One
As a publisher on the web today, you may have a love-hate relationship with ad networks. On one hand, those ad networks help to pay the bills. But on the other hand, their questionable coding abilities, poor security, and dubious business practices expose you to all sorts of problems.
Our team has spent countless hours dissecting the DOM to try to track down offending ads. This is tedious work, especially when an ad call gets bounced from network to network, creating an extremely complex DOM of nested IFRAMEs.
rabbithole is designed to streamline this process. Using a CSS selector provided by you, it identifies the top-level DOM elements for your ad units. It then recursively descends those elements, building a simpler object model for you to analyze.
* simplifies the identification and interpretation of the ad-related portion of the DOM
* "compresses" the tree by skipping past DOM elements that aren't really important and only tracking select properties
* makes off-site objects easily identifiable
* tries to identify pixel trackers
* tries to identify the DOM elements that are most likely the ad creative itself
* attempts to keep track of a "network path" so you can see the whole ad chain where ads are coming from; this is a work in progress
* computes statistics like the number of scripts and iframes loaded beneath each node in the tree
In order for rabbithole to work with your site, you need to give it a CSS selector that will capture all the top-level DOM elements of your ad units (and is specific enough to *not* capture non-ad-unit elements).
For example, if you look at the ad tags on http://slashdot.org/, you will see that they all have IDs like "div-gpt-ad-728x90_a" and "div-gpt-ad-300x250_a". You can capture them all with a selector like
[id*='div-gpt-ad']
Once you have your selector, use the options dialog to configure rabbithole. You can open it either from the extensions page in chrome, or by clicking on the gear icon in the rabbithole popup window. If you have a rabbithole window open when you change the CSS selector, you'll need to close rabbithole and reopen it to get it to rescan your page's DOM.
Source: https://github.com/jpriebe/rab bithole
Our team has spent countless hours dissecting the DOM to try to track down offending ads. This is tedious work, especially when an ad call gets bounced from network to network, creating an extremely complex DOM of nested IFRAMEs.
rabbithole is designed to streamline this process. Using a CSS selector provided by you, it identifies the top-level DOM elements for your ad units. It then recursively descends those elements, building a simpler object model for you to analyze.
* simplifies the identification and interpretation of the ad-related portion of the DOM
* "compresses" the tree by skipping past DOM elements that aren't really important and only tracking select properties
* makes off-site objects easily identifiable
* tries to identify pixel trackers
* tries to identify the DOM elements that are most likely the ad creative itself
* attempts to keep track of a "network path" so you can see the whole ad chain where ads are coming from; this is a work in progress
* computes statistics like the number of scripts and iframes loaded beneath each node in the tree
In order for rabbithole to work with your site, you need to give it a CSS selector that will capture all the top-level DOM elements of your ad units (and is specific enough to *not* capture non-ad-unit elements).
For example, if you look at the ad tags on http://slashdot.org/, you will see that they all have IDs like "div-gpt-ad-728x90_a" and "div-gpt-ad-300x250_a". You can capture them all with a selector like
[id*='div-gpt-ad']
Once you have your selector, use the options dialog to configure rabbithole. You can open it either from the extensions page in chrome, or by clicking on the gear icon in the rabbithole popup window. If you have a rabbithole window open when you change the CSS selector, you'll need to close rabbithole and reopen it to get it to rescan your page's DOM.
Source: https://github.com/jpriebe/rab bithole
Related

PubGuru Ad Inspector
2,000+

MyAdPrice
338

Transitiv - Ad Preview
46

Rabbit Hole Rescue
13

PubMonkey
33

Adwizard
3,000+

HTL Debug
2,000+

Developer URL bar
120

captureCalls
106

Azerion Ad Expert
1,000+

Ad Tracker v1.26 BETA
130

MightyHive Site Tools
257

CYSCE
116

Headerbid Expert
9,000+

Ad Footprint
240

DOM to JSON Converter
323

Codext
192

Mink - Integrate Live & Archived Web +Memento
249

HTML5 Debugger
316

DOM-JSON Tree Matcher
172

Dev Helpers
261

Not my department
165

Ad Manager Viewability Insights
1,000+

AdTech Ad Inspector
2,000+