跳转到内容
打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

MediaWiki:Common.js

MediaWiki界面页面

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

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
(function() {
  'use strict';

  // 移除页面名称限制,确保在首页运行(您也可以保留判断)
  // var pageName = mw.config && mw.config.get('wgPageName') || '';
  // if (pageName !== '首页' && pageName !== 'Main_Page') return;

  // ---------- 1. 强制显示欢迎弹窗(重置 localStorage) ----------
  // 如果您想永久取消“不再提醒”功能,可以注释掉下面两行
  // localStorage.removeItem('hpWelcomeNoShow'); // 取消注释可重置
  // 或者直接让弹窗始终显示(不隐藏)

  var welcome = document.getElementById('hpWelcome');
  var closeBtn = document.getElementById('hpWelcomeClose');
  var dismissCheck = document.getElementById('hpWelcomeDismiss');

  if (welcome && closeBtn) {
    // 确保弹窗可见(移除隐藏类)
    welcome.classList.remove('hidden');
    // 无论之前是否存储,都显示弹窗(如果您想保留记忆功能,可保留以下判断)
    // var noShow = localStorage.getItem('hpWelcomeNoShow') === 'true';
    // if (noShow) welcome.classList.add('hidden');

    function closeWelcome() {
      welcome.classList.add('hidden');
      if (dismissCheck && dismissCheck.checked) {
        localStorage.setItem('hpWelcomeNoShow', 'true');
      }
    }
    closeBtn.addEventListener('click', closeWelcome);
  }

  // ---------- 2. 卡片渐显(立即生效) ----------
  var cards = document.querySelectorAll('.hp-card, .hp-card-featured');
  if (cards.length) {
    // 直接给所有卡片添加 visible 类(无动画延迟)
    cards.forEach(function(card) {
      card.classList.add('hp-visible');
    });

    // 如果你仍想保留滚动渐显效果,可以保留 IntersectionObserver,但为了确保可见,我们先全部显示
    // 以下为备用:如果浏览器支持,且您希望滚动渐显,可以注释掉上面的直接添加,改用下面的观察者
    /*
    if ('IntersectionObserver' in window) {
      var observer = new IntersectionObserver(function(entries) {
        entries.forEach(function(entry) {
          if (entry.isIntersecting) {
            var card = entry.target;
            var delay = parseInt(card.getAttribute('data-delay')) || 0;
            setTimeout(function() {
              card.classList.add('hp-visible');
            }, delay);
            observer.unobserve(card);
          }
        });
      }, { threshold: 0.1 });
      cards.forEach(function(card) { observer.observe(card); });
    } else {
      cards.forEach(function(card) { card.classList.add('hp-visible'); });
    }
    */
  }

})();