MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
David Mason (talk | contribs) No edit summary |
David Mason (talk | contribs) No edit summary |
||
(11 intermediate revisions by the same 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'); | |||
document.getElementsByTagName(' | |||
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){ | ||
include('/js/ | if(url.match(/\.js$/)) { | ||
include('/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 16: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'));