MediaWiki:Common.js

来自赛尔号精灵图鉴
Len留言 | 贡献2025年6月4日 (三) 23:00的版本
跳转到导航 跳转到搜索

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
$(function () {
  // 在线人数显示
  var $counter = $('<div id="online-counter">当前在线 <span style="color:#a782ff;">👥</span>:<span id="online-number">加载中...</span></div>');
  $('body').append($counter);

  function updateOnlineNumber() {
    $.getJSON('/api/online.php', function (data) {
      $('#online-number').text(data.count || 0);
    }).fail(function () {
      $('#online-number').text('获取失败');
    });
  }

  updateOnlineNumber();
  setInterval(updateOnlineNumber, 30000);
});

mw.loader.using('mediawiki.util', function () {
  if (document.getElementById('bgm')) return; // 防止重复添加

  const audio = document.createElement('audio');
  audio.src = 'https://d1rtq9slcl72gh.cloudfront.net/audio/home.mp3';
  audio.loop = true;
  audio.id = 'bgm';

  const lastTime = localStorage.getItem('bgm-time');
  if (lastTime) {
    audio.addEventListener('loadedmetadata', function () {
      audio.currentTime = parseFloat(lastTime);
    });
  }

  const player = document.createElement('div');

  player.style.cssText = `
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 9999;
    background: #111;
    color: white;
    padding: 10px 15px;
    border-radius: 10px;
    display: flex;
    gap: 10px;
    align-items: center;
    box-shadow: 0 0 10px #000;
    font-size: 14px;
  `;

  document.body.appendChild(audio);
  document.body.appendChild(player);

  document.body.addEventListener('click', function () {
    audio.play().catch(() => {});
  }, { once: true });

  setInterval(function () {
    if (!audio.duration) return;
    const percent = (audio.currentTime / audio.duration) * 100;
    document.getElementById('bar').style.width = percent + '%';
    localStorage.setItem('bgm-time', audio.currentTime);
  }, 300);
});