Difference between revisions of "MediaWiki:Common.js"

From Ribbon Commander Documentation
Jump to: navigation, search
Line 36: Line 36:
 
for (var i = 0; i < links.length; i++) {
 
for (var i = 0; i < links.length; i++) {
 
     //if (links[i].className=="external text") {
 
     //if (links[i].className=="external text") {
         //addtrackcode(links[i]);
+
         addtrackcode(links[i]);
 
     //}
 
     //}
 
}
 
}

Revision as of 13:08, 19 March 2013

/* Any JavaScript here will be loaded for all users on every page load. */
 
/**
 * Track all pages with google analytics
 */
 
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-39399611-1']);
_gaq.push(['_trackPageview']);
 
(function() {
	var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
	ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
	var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
 
/**
 * Track outbound links
 */
function trackOutboundLink(link, category, action) { 
 
try { 
_gaq.push(['_trackEvent', category , action]); 
} catch(err){}
 
setTimeout(function() {
document.location.href = link.href;
}, 100);
}
 
/**
 * Add onClick event to all external links of every page
 */
var links = document.getElementsByTagName("a");
 
for (var i = 0; i < links.length; i++) {
    //if (links[i].className=="external text") {
        addtrackcode(links[i]);
    //}
}
 
function addtrackcode(obj) {
    //alert(obj.href + "  " + obj.className);
    var parentNode = obj.parentNode;
    if(parentNode.className == "external link") {
 
        var vSplit = obj.href.split("://");
        if(vSplit.length == 2) {
            obj.setAttribute('onClick',"javascript:trackOutboundLink(this, 'Outbound Links', '" + vSplit[1] + "');");
        }
 
    //if(vSplit[0]=="http" || vSplit[0]=="https") {
        //obj.setAttribute('onClick',"javascript:trackOutboundLink(this, 'Outbound Links', '" + vSplit[1] + "');");
    //}
    }
}