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。
// 用于弹出欢迎/提示弹窗
$(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('。');
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');
}
});
});
});