MediaWiki:Common.js

From Asian Canadian Wiki
(Difference between revisions)
Jump to: navigation, search
 
(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 include(filename) {
+
 
var head = document.getElementsByTagName('head')[0];
+
  (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),
script = document.createElement('script');
+
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
script.src = filename;
+
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
script.type = 'text/javascript';
+
 
+
  ga('create', 'UA-40836383-1', 'asiancanadianwiki.org');
head.appendChild(script)
+
  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("js/jquery-1.3.2.js");
+
function include(url){
include("/js/jquery.history.js");
+
    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/jquery.galleriffic.js");
 
include("/js/jquery.opacityrollover.js");
 
  
/* We only want the thunbnails to display when javascript is disabled */
+
include('/js/packery.pkgd.min.js');
document.write('<style>.noscript { display: none; }</style>');
+
include('/js/pack.js');
  
jQuery(document).ready(function($) {
+
(function(d, s, id) {
    var gallery = $('#thumbs');
+
  var js, fjs = d.getElementsByTagName(s)[0];
    if (gallery) {
+
  if (d.getElementById(id)) return;
        gallery.galleriffic({
+
  js = d.createElement(s); js.id = id;
        delay:                    3000, // in milliseconds
+
  js.src = "//connect.facebook.net/fr_CA/sdk.js#xfbml=1&version=v2.4";
        numThumbs:                20, // The number of thumbnails to show page
+
  fjs.parentNode.insertBefore(js, fjs);
        preloadAhead:              40, // Set to -1 to preload all images
+
}(document, 'script', 'facebook-jssdk'));
        enableTopPager:            false,
+
        enableBottomPager:        true,
+
        maxPagesToShow:            7,  // The maximum number of pages to display in either the top or bottom pager
+
        imageContainerSel:        '', // The CSS selector for the element within which the main slideshow image should be rendered
+
        controlsContainerSel:      '', // The CSS selector for the element within which the slideshow controls should be rendered
+
        captionContainerSel:      '', // The CSS selector for the element within which the captions should be rendered
+
        loadingContainerSel:      '', // The CSS selector for the element within which should be shown when an image is loading
+
        renderSSControls:          true, // Specifies whether the slideshow's Play and Pause links should be rendered
+
        renderNavControls:        true, // Specifies whether the slideshow's Next and Previous links should be rendered
+
        playLinkText:              'Play',
+
        pauseLinkText:            'Pause',
+
        prevLinkText:              'Previous',
+
        nextLinkText:              'Next',
+
        nextPageLinkText:          'Next &rsaquo;',
+
        prevPageLinkText:          '&lsaquo; Prev',
+
        enableHistory:            true, // Specifies whether the url's hash and the browser's history cache should update when the current slideshow image changes
+
        enableKeyboardNavigation:  true, // Specifies whether keyboard navigation is enabled
+
        autoStart:                true, // Specifies whether the slideshow should be playing or paused when the page first loads
+
        syncTransitions:          false, // Specifies whether the out and in transitions occur simultaneously or distinctly
+
        defaultTransitionDuration: 1000, // If using the default transitions, specifies the duration of the transitions
+
        onSlideChange:            undefined, // accepts a delegate like such: function(prevIndex, nextIndex) { ... }
+
        onTransitionOut:          undefined, // accepts a delegate like such: function(slide, caption, isSync, callback) { ... }
+
        onTransitionIn:            undefined, // accepts a delegate like such: function(slide, caption, isSync) { ... }
+
        onPageTransitionOut:      undefined, // accepts a delegate like such: function(callback) { ... }
+
        onPageTransitionIn:        undefined, // accepts a delegate like such: function() { ... }
+
        onImageAdded:              undefined, // accepts a delegate like such: function(imageData, $li) { ... }
+
        onImageRemoved:            undefined  // accepts a delegate like such: function(imageData, $li) { ... }
+
    });
+
});
+

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'));
Personal tools
Namespaces

Variants
Actions
Participating
Categories
Toolbox