MediaWiki:Common.js

From Tuyin Archives
Revision as of 19:37, 23 July 2025 by Morrisj18 (talk | contribs) (Created page with "Any JavaScript here will be loaded for all users on every page load.: function setupAudioPlayer(id, filename) { const audio = new Audio('https://tuvin.online/images/' + filename); let isPlaying = false; const playBtn = document.getElementById('playBtn' + id); const progress = document.getElementById('progress' + id); playBtn.addEventListener('click', function () { if (isPlaying) { audio.pause(); playBtn.textConte...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */
function setupAudioPlayer(id, filename) {
    const audio = new Audio('https://tuvin.online/images/' + filename);
    let isPlaying = false;

    const playBtn = document.getElementById('playBtn' + id);
    const progress = document.getElementById('progress' + id);

    playBtn.addEventListener('click', function () {
        if (isPlaying) {
            audio.pause();
            playBtn.textContent = '▶️';
        } else {
            audio.play();
            playBtn.textContent = '⏸️';
        }
        isPlaying = !isPlaying;
    });

    audio.addEventListener('timeupdate', function () {
        const percentage = (audio.currentTime / audio.duration) * 100;
        progress.style.width = percentage + '%';
    });

    audio.addEventListener('ended', function () {
        playBtn.textContent = '▶️';
        isPlaying = false;
        progress.style.width = '0%';
    });
}