4 ms·
Google Analytics unblocks the Web w/ Async support
- jgrahamc 17y agoThis is a good move, but I think jsHub's approach of separating the page meta-data and the JavaScript that reads it is better. http://jshub.org/blog/2009/10/17/universal_tag_or_universal_data/ http://jshub.org/blog/2009/10/17/universal_tag_or_universal_...
- charlesmarshall 17y agogoogles actual post about it: http://googlecode.blogspot.com/2009/12/google-analytics-launches-asynchronous.html http://googlecode.blogspot.com/2009/12/google-analytics-laun...
- Xavi 17y agoThey've also moved away from document.write. Now we can use google analytics on pages served as XHTML without resorting to these types of hacks: http://www.the-xavi.com/articles/operation-is-not-supported-code-9 http://www.the-xavi.com/articles/operation-is-not-supported-...
- scotth 17y agoI notice something like this in the snippet: (function() { ... })(); What's that all about?
- mcav 17y agoThat executes the code in a local scope, so that any variables defined within that block don't leak outside of its namespace.
- scotth 17y agoThanks!
- rykov 17y agoThis works even cooler when you want to minify your code: MyLongClassName = function() {}; function(_c) { _c.prototype.method1 = ...; _c.prototype.method2 = ...; }(MyLongClassName); This allows something like YUI compressor to shorten _c local variable for every method definition, rather than store "MyLongClassName" for each one.
- tannerburson 17y agoDefine an anonymous function that takes no arguments, and execute it without assigning it to a variable. It's often used in javascript to keep things out of the global scope.
- scotth 17y agoThe first response was perfectly adequate. Let's keep threads clean. Read other responses before responding.
- IgorPartola 17y agoI think the NBGA API much nicer: http://925html.com/code/non-blocking-google-analytics-integration/ http://925html.com/code/non-blocking-google-analytics-integr... I usually use an adaptation of this, to take out the extra code that supports prototype and YUI (my choice is jQuery). This thing is super easy to use: jQuery(document).ready(function() { ga().config({ id:'UA-xxxxxxx-x' }).track(); }); It queues up any track calls and pushes them onto GA as soon as it loads.
- enomar 17y agoThat's fine if you only need _trackPageview. The Google solution provides more capabilities though. Also, be careful of using 3rd party solution. They don't always work correctly. The jQuery plugin for GA used to cache-bust every request to ga.js, which definitely slows down your page.
- andrewljohnson 17y agoJeez, finally...