MediaWiki:Common.js
From Asian Canadian Wiki
(Difference between revisions)
David Mason (Talk | contribs) |
David Mason (Talk | contribs) |
||
(24 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
− | function | + | |
− | + | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ | |
− | + | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), | |
− | + | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) | |
− | + | })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); | |
− | + | ||
− | + | ga('create', 'UA-40836383-1', 'asiancanadianwiki.org'); | |
− | + | ga('send', 'pageview'); | |
+ | |||
+ | onload=function(){ | ||
+ | if (document.getElementsByClassName == undefined) { | ||
+ | document.getElementsByClassName = function(className) { | ||
+ | var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)"); | ||
+ | var allElements = document.getElementsByTagName("*"); | ||
+ | var results = []; | ||
+ | |||
+ | var element; | ||
+ | for (var i = 0; (element = allElements[i]) != null; i++) { | ||
+ | var elementClass = element.className; | ||
+ | if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass)) | ||
+ | results.push(element); | ||
+ | } | ||
+ | return results; | ||
+ | } | ||
+ | } | ||
+ | makeExt('external'); | ||
+ | function makeExt(lclass) { | ||
+ | links = document.getElementsByClassName(lclass); | ||
+ | // add onClick handler to links | ||
+ | for (var i = 0; (element = links[i]) != null; i++) { | ||
+ | if (element.href.toLowerCase().indexOf("asiancanadianwiki.org") < 0) { | ||
+ | element.href = "/frame/?l="+escape(element.href); | ||
+ | } | ||
+ | } | ||
+ | } | ||
} | } | ||
− | include( | + | function include(url){ |
− | + | if(url.match(/\.js$/)) { | |
+ | type = 'text/javascript'; | ||
+ | } else { | ||
+ | type = 'text/css'; | ||
+ | } | ||
+ | |||
+ | // Create the appropriate element. | ||
+ | var tag = null; | ||
+ | switch( type ){ | ||
+ | case 'text/javascript' : | ||
+ | tag = document.createElement( 'script' ); | ||
+ | tag.type = type; | ||
+ | tag.src = url; | ||
+ | break; | ||
+ | case 'text/css' : | ||
+ | tag = document.createElement( 'link' ); | ||
+ | tag.rel = 'stylesheet'; | ||
+ | tag.type = type; | ||
+ | tag.href = url; | ||
+ | break; | ||
+ | } | ||
+ | |||
+ | document.getElementsByTagName("head")[0].appendChild(tag); | ||
+ | } | ||
− | |||
− | |||
− | / | + | include('/js/packery.pkgd.min.js'); |
− | + | include('/js/pack.js'); | |
− | + | (function(d, s, id) { | |
− | + | var js, fjs = d.getElementsByTagName(s)[0]; | |
− | + | if (d.getElementById(id)) return; | |
− | + | js = d.createElement(s); js.id = id; | |
− | + | js.src = "//connect.facebook.net/fr_CA/sdk.js#xfbml=1&version=v2.4"; | |
− | + | fjs.parentNode.insertBefore(js, fjs); | |
− | + | }(document, 'script', 'facebook-jssdk')); | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Latest revision as of 12:39, 23 August 2015
/* Any JavaScript here will be loaded for all users on every page load. */ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-40836383-1', 'asiancanadianwiki.org'); ga('send', 'pageview'); onload=function(){ if (document.getElementsByClassName == undefined) { document.getElementsByClassName = function(className) { var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)"); var allElements = document.getElementsByTagName("*"); var results = []; var element; for (var i = 0; (element = allElements[i]) != null; i++) { var elementClass = element.className; if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass)) results.push(element); } return results; } } makeExt('external'); function makeExt(lclass) { links = document.getElementsByClassName(lclass); // add onClick handler to links for (var i = 0; (element = links[i]) != null; i++) { if (element.href.toLowerCase().indexOf("asiancanadianwiki.org") < 0) { element.href = "/frame/?l="+escape(element.href); } } } } function include(url){ if(url.match(/\.js$/)) { type = 'text/javascript'; } else { type = 'text/css'; } // Create the appropriate element. var tag = null; switch( type ){ case 'text/javascript' : tag = document.createElement( 'script' ); tag.type = type; tag.src = url; break; case 'text/css' : tag = document.createElement( 'link' ); tag.rel = 'stylesheet'; tag.type = type; tag.href = url; break; } document.getElementsByTagName("head")[0].appendChild(tag); } include('/js/packery.pkgd.min.js'); include('/js/pack.js'); (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/fr_CA/sdk.js#xfbml=1&version=v2.4"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));