MediaWiki:Test.js

Страница интерфейса MediaWiki

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
function insertMidiPlayer(fileUrl) {
  var container = document.createElement('div');
  var button = document.createElement('button');
  button.innerHTML = '▶ Играть MIDI';
  button.onclick = function () {
    MIDI.Player.loadFile(fileUrl, function () {
      MIDI.Player.start();
    });
  };
  container.appendChild(button);
  document.body.appendChild(container);
}

mw.loader.using(['jquery'], function () {
  function loadScript(url, callback) {
    var script = document.createElement('script');
    script.src = url;
    script.onload = callback;
    document.head.appendChild(script);
  }

  loadScript('/wiki/MediaWiki:MIDI.js', function () {
    MIDI.loadPlugin({
      soundfontUrl: '/wiki/MediaWiki:soundfont/',
      instrument: 'acoustic_grand_piano',
      onsuccess: function () {
        var midiLinks = document.querySelectorAll('a[href$=".mid"], a[href$=".midi"]');
        for (var i = 0; i < midiLinks.length; i++) {
          (function (link) {
            var href = link.href;
            insertMidiPlayer(href);
          })(midiLinks[i]);
        }
      }
    });
  });
});