MediaWiki:Test.js: различия между версиями

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
console.log('Test JavaScript file loaded!');
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);
}


document.addEventListener('DOMContentLoaded', function() {
mw.loader.using(['jquery'], function () {
     var testElement = document.createElement('div');
  function loadScript(url, callback) {
     testElement.classList.add('test-class');
     var script = document.createElement('script');
     testElement.innerHTML = 'This is a test element!';
     script.src = url;
    document.body.appendChild(testElement);
    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]);
        }
      }
    });
  });
});
});

Версия от 17:14, 16 апреля 2025

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]);
        }
      }
    });
  });
});