MediaWiki:Gadget-AudioPlayer.js

Aus Wiktionary, dem freien Wörterbuch
//<nowiki>

// begin namespace: foAudioPlayer
(function( _public, $, undefined ) {

var audio = document.createElement("AUDIO");
var retryCnt = 0;

_public.init = function ()
{

  var hbsp = document.querySelectorAll(".aplay");
  for (var i = 0; i < hbsp.length; i++) {
    var pes = hbsp[i].previousElementSibling;
    // In der mobilen Ansicht ist zum Zeitpunkt des Skriptstarts möglicherweise noch kein IMG vorhanden
    // (Der LazyLoader manipuliert dabei das Seitenlayout! Grrrr!)
    // Dann warten wir etwas, aber auch nicht ewig
    if (pes.tagName != "IMG" && retryCnt <= 3) {
      retryCnt++;
      setTimeout(_public.init, 120);
      return;
    }
    pes.onclick = foAudioPlayer.play;
  }
};


_public.config = function ()
{
  // toDo
};


_public.help = function (chapter) {
  window.location.href = mw.config.get("wgServer") + mw.config.get("wgScript")
     + "?title=" + mw.util.wikiUrlencode("Hilfe:AudioPlayer");
};


_public.play = function (event) {

  if (audio) {
    var src = this;
    do {
      src = src.nextElementSibling;
    } while (src.tagName != "A");

    audio.src = src.href;
    audio.load();
    audio.play();
  }

};


// end namespace: foAudioPlayer
}( window.foAudioPlayer = window.foAudioPlayer || {}, jQuery ));

if (mw.config.get("wgAction") == "view") {
  jQuery(document).ready(foAudioPlayer.init);
}
if (mw.config.get("wgPageName") == "Hilfe:AudioPlayer" && mw.config.get("wgAction") == "view") {
  jQuery(document).ready(foAudioPlayer.config);
}

//</nowiki>