Difference between revisions of "MediaWiki:Common.js"
From Ribbon Commander Documentation
(6 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
* Track all pages with google analytics | * Track all pages with google analytics | ||
*/ | */ | ||
− | + | /* | |
var _gaq = _gaq || []; | var _gaq = _gaq || []; | ||
_gaq.push(['_setAccount', 'UA-39399611-1']); | _gaq.push(['_setAccount', 'UA-39399611-1']); | ||
Line 14: | Line 14: | ||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); | var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); | ||
})(); | })(); | ||
− | + | */ | |
/** | /** | ||
* Track outbound links | * Track outbound links | ||
Line 35: | Line 35: | ||
for (var i = 0; i < links.length; i++) { | for (var i = 0; i < links.length; i++) { | ||
− | + | addtrackcode(links[i]); | |
− | + | ||
− | + | ||
} | } | ||
function addtrackcode(obj) { | function addtrackcode(obj) { | ||
− | + | if(obj.className == "external link" || obj.parentNode.className == "external link") { | |
− | var vSplit = obj.href.split("://"); | + | |
− | + | var vSplit = obj.href.split("://"); | |
− | + | if(vSplit.length == 2) { | |
+ | obj.setAttribute('onClick',"javascript:trackOutboundLink(this, 'Outbound Links', '" + vSplit[1] + "');"); | ||
+ | } | ||
} | } | ||
} | } |
Latest revision as of 12:14, 5 November 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] + "');"); } } }