MediaWiki:Common.js
外观
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
mw.loader.using(['mediawiki.util', 'oojs-ui'], function () { if (mw.config.get('wgCanonicalSpecialPageName') === 'Upload') { // 创建窗口管理器 var windowManager = new OO.ui.WindowManager(); $(document.body).append(windowManager.$element); // 定义一个弹窗 function UploadDialog(config) { UploadDialog.super.call(this, config); } OO.inheritClass(UploadDialog, OO.ui.ProcessDialog); UploadDialog.static.name = 'UploadDialog'; UploadDialog.static.title = '选择上传方式'; UploadDialog.static.actions = [ { label: '❌ 继续使用传统上传方式', flags: ['safe'], action: 'stayHere' } ]; UploadDialog.prototype.initialize = function () { UploadDialog.super.prototype.initialize.call(this); this.content = new OO.ui.PanelLayout({ padded: true, expanded: false }); // ✅ 正确设置为 <a> 链接形式的 button var linkButton = new OO.ui.ButtonWidget({ label: '✅ 使用新版上传工具(推荐)', flags: ['primary', 'progressive'], href: mw.util.getUrl('Special:UploadWizard'), target: '_self', framed: true // 👈 关键:用带框的链接样式,确保行为可靠 }); this.content.$element.append( $('<p>').text('本站推荐使用新版上传工具,它支持:'), $('<ul>').append( $('<li>').text('上传进度条显示'), $('<li>').text('多文件上传'), $('<li>').text('更好的界面') ), $('<p>').text('你想使用哪种上传方式?'), $('<div>').css('margin-top', '15px').append(linkButton.$element) ); this.$body.append(this.content.$element); }; UploadDialog.prototype.getActionProcess = function (action) { if (action === 'stayHere') { return new OO.ui.Process(() => this.close({ action: 'stayHere' })); } return UploadDialog.super.prototype.getActionProcess.call(this, action); }; // 打开 dialog 窗口 var dialog = new UploadDialog(); windowManager.addWindows([dialog]); windowManager.openWindow(dialog); } });