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

MediaWiki:Common.js:修订间差异

MediaWiki界面页面
Smalllqiang
Smalllqiang留言 | 贡献 (test)
 
Smalllqiang
Smalllqiang留言 | 贡献 (1)
 
(未显示同一用户的2个中间版本)
第1行: 第1行:
// 用于弹出欢迎/提示弹窗
$(function() {
$(function() {
    if (mw.config.get('wgUserName') !== null) return;
// 仅对匿名用户、首页、且未手动关闭过弹窗时生效
if (localStorage.getItem('welcomeModalClosed')) return;
if (mw.config.get('wgUserName') !== null) return;
if (localStorage.getItem('welcomeModalClosed')) return;
if (!mw.config.get('wgIsMainPage')) return;


    if (!mw.config.get('wgIsMainPage')) return;
mw.loader.using('oojs-ui').then(function() {
    const modalHtml = `
const dialog = new OO.ui.MessageDialog();
        <div id="welcome-modal" style="position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:9999;display:flex;align-items:center;justify-content:center;">
const windowManager = new OO.ui.WindowManager();
            <div style="background:white;padding:30px;border-radius:10px;max-width:500px;box-shadow:0 5px 20px rgba(0,0,0,0.3);">
$('body').append(windowManager.$element);
                <h2 style="margin-top:0;">歡迎訪問本站!</h2>
windowManager.addWindows([dialog]);
                <p>您當前未登錄,部分功能可能受限。</p>
 
                <p>建議您 <a href="${mw.util.getUrl('Special:UserLogin')}">登錄賬號</a> 以獲得完整體驗。</p>
// 拼装带链接的提示文本
                <button id="close-welcome-modal" style="margin-top:15px;padding:10px 20px;background:#007bff;color:white;border:none;border-radius:5px;cursor:pointer;">知道了,不再顯示</button>
const loginUrl = mw.util.getUrl('Special:UserLogin');
            </div>
const createUrl = mw.util.getUrl('Special:CreateAccount');
        </div>
const message = $('<div>')
    `;
.append('您当前未登录,如需编辑请')
   
.append($('<a>').attr('href', loginUrl).text('登录'))
    $('body').append(modalHtml);
.append('或')
    $('#close-welcome-modal').on('click', function() {
.append($('<a>').attr('href', createUrl).text('注册'))
        $('#welcome-modal').remove();
.append('').append('<br />')
        localStorage.setItem('welcomeModalClosed', 'true');
.append('即使不登录,您也可以查看页面、进行评论。');
    });
 
windowManager.openWindow(dialog, {
title: '欢迎访问本站!',
message: message,
actions: [{
action: 'accept',
label: '不再提示',
flags: 'primary'
}]
}).closed.then(function(data) {
if (data && data.action === 'accept') {
localStorage.setItem('welcomeModalClosed', 'true');
}
});
});
});
});

2025年12月18日 (四) 14:05的最新版本

// 用于弹出欢迎/提示弹窗
$(function() {
	// 仅对匿名用户、首页、且未手动关闭过弹窗时生效
	if (mw.config.get('wgUserName') !== null) return;
	if (localStorage.getItem('welcomeModalClosed')) return;
	if (!mw.config.get('wgIsMainPage')) return;

	mw.loader.using('oojs-ui').then(function() {
		const dialog = new OO.ui.MessageDialog();
		const windowManager = new OO.ui.WindowManager();
		$('body').append(windowManager.$element);
		windowManager.addWindows([dialog]);

		// 拼装带链接的提示文本
		const loginUrl = mw.util.getUrl('Special:UserLogin');
		const createUrl = mw.util.getUrl('Special:CreateAccount');
		const message = $('<div>')
			.append('您当前未登录,如需编辑请')
			.append($('<a>').attr('href', loginUrl).text('登录'))
			.append('或')
			.append($('<a>').attr('href', createUrl).text('注册'))
			.append('。').append('<br />')
			.append('即使不登录,您也可以查看页面、进行评论。');

		windowManager.openWindow(dialog, {
			title: '欢迎访问本站!',
			message: message,
			actions: [{
				action: 'accept',
				label: '不再提示',
				flags: 'primary'
			}]
		}).closed.then(function(data) {
			if (data && data.action === 'accept') {
				localStorage.setItem('welcomeModalClosed', 'true');
			}
		});
	});
});