MediaWiki:Common.js
MediaWiki界面页面
更多操作
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-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'); });
}
*/
}
})();