Difference between revisions of "MediaWiki:Common.js"

From Ribbon Commander Documentation
Jump to: navigation, search
Line 39: Line 39:
 
   
 
   
 
function addtrackcode(obj) {
 
function addtrackcode(obj) {
     if(obj.className == "external link" || parentNode.className == "external link") {
+
     if(obj.className == "external link" || obj.parentNode.className == "external link") {
 
      
 
      
 
         var vSplit = obj.href.split("://");
 
         var vSplit = obj.href.split("://");

Revision as of 13:15, 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++) {
    addtrackcode(links[i]);
}
 
function addtrackcode(obj) {
    if(obj.className == "external link" || obj.parentNode.className == "external link") {
 
        var vSplit = obj.href.split("://");
        if(vSplit.length == 2) {
            obj.setAttribute('onClick',"javascript:trackOutboundLink(this, 'Outbound Links', '" + vSplit[1] + "');");
        }
    }
}