HTML and CSS Reference
■ Using the web inspector, you can also view local databases, web storage items, cookies, and hTML5 application
Privacy concerns connected with data storage always constitutes a huge topic for discussion among all
parties involved in digital advertising. Currently, many startup companies attempt to utilize a device and user
“fingerprinting” approach; it stores unique, trackable IDs on a user's machine through various forms of web storage
for measurement across sites, ad networks, or both. Lawsuits have also involved such companies as Bluecava and
Ringleader for their tricky user-detection techniques, which leverage HTML5 storage and databases to target and
track unknowing users. Developers have even developed techniques known as a “Zombie Cookie”, which persists
through pretty much everything as it stores values in various areas including web storage, cookies and databases.
In the end, HTML5 storage is promising, but privacy is a bit concerning. If you need to support earlier browsers,
you can leverage some great polyfills on the Web; try these at storejs: http://github.com/marcuswestin/store.js
and http://github.com/jensarps/IDBWrapper . You can learn more about web storage APIs at http://dev.w3.org/
html5/webstorage and discover more about user privacy within third-party ad networks at http://dev.w3.org/
Chances are you've seen browser notifications (see Figure 6-6 ) when browsing web pages.
Figure 6-6. The “browser is unresponsive” screen
I use Chrome, but other browsers have similar messages showing you (as a user) that the page content has
become unresponsive and asking you to stop and clear the code execution. Whatever the message, you get the idea
that the browser has failed you. Don't fret; here comes an amazing new feature in new browsers from the team at
Google called web workers.
When executing intense scripts, a browser can become unresponsive until the code on the page (or ad) finally
finishes executing. In some cases this could take a while and worst cases, it would never stop executing. This could lock
a user out of the user interface (UI) elements, pause animations, halt video playback, or worst of all, crash the browser.