LLWiki正在建设中,欢迎加入我们!
MediaWiki:Gadget-HotDefaultSort.js
跳转到导航
跳转到搜索
注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:前往菜单 → 设置(Mac为Opera → Preferences),然后隐私和安全 → 清除浏览数据 → 缓存的图片和文件。
//<nowiki> // 引自[[wikipedia:User:BrandonXLF/HotDefaultSort.js]] /*** Hot Default Sort ***/ // Adds an DEFAULTSORT key editor at the bottom of the page near the categories // Documentation at [[wikipedia:User:BrandonXLF/HotDefaultSort]] // By [[wikipedia:User:BrandonXLF]] $(function() { if( ![0, 4, 6, 12, 14].includes( mw.config.get('wgNamespaceNumber') ) || !mw.config.get('wgArticleId') || mw.config.get("wgPageContentModel") !== "wikitext" || mw.config.get('wgAction') != 'view' || mw.config.get( 'wgIsRedirect' ) || mw.config.get( 'wgRevisionId' ) < mw.config.get( 'wgCurRevisionId' )) { return; } var main = function() { $('#catlinks').append('<div id="mw-defaultsort">DEFAULTSORT: <ul><li></li></ul></div>'); var api = new mw.Api(), title = mw.config.get('wgPageName'), dsort = $('<span>').appendTo('#mw-defaultsort li'), hotlink = $('<span class="noprint">').insertAfter(dsort), edit = $('<input type="text" size=40>').appendTo(hotlink), add = $('<a href="#catlinks">(+)</a>').appendTo(hotlink), remove = $('<a href="#catlinks">(−)</a>').appendTo(hotlink), modify = $('<a href="#catlinks">(±)</a>').appendTo(hotlink), save = $('<input type="button" value="保存">').appendTo(hotlink), cancel = $('<input type="button" value="取消">').appendTo(hotlink), key = mw.config.get( 'wgDefaultSortKey' ) || ''; var initialize = function() { if(key) { dsort.text(key); add.css('display', 'none'); remove.css('display', 'inline'); modify.css('display', 'inline'); } else { remove.css('display', 'none'); modify.css('display', 'none'); add.css('display', 'inline'); } edit.css('display', 'none'); save.css('display', 'none'); cancel.css('display', 'none'); }; initialize(); cancel.on('click', initialize); var editStart = function() { dsort.text(''); add.css('display', 'none'); remove.css('display', 'none'); modify.css('display', 'none'); edit.css('display', 'inline').val(key); save.css('display', 'inline'); cancel.css('display', 'inline'); }; add.on('click', editStart); modify.on('click', editStart); remove.on('click', function() { edit.val(''); dsort.text(''); remove.css('display', 'none'); modify.css('display', 'none'); save.css('display', 'inline'); cancel.css('display', 'inline'); }); save.on('click', function () { if (key != edit.val()) { api.get({ action: 'query', prop: 'revisions', rvprop: 'ids|content', titles: title, formatversion: 2, rvslots: 'main' }) .then(function(data){ var revid = data.query.pages[0].revisions[0].revid, text = data.query.pages[0].revisions[0].slots.main.content; text = key ? text.replace(/{{DEFAULTSORT:.*?}}/g, '{{DEFAULTSORT:' + edit.val() + '}}') : text + '\n{{DEFAULTSORT:' + edit.val() + '}}'; if(edit.val() === '') { text = text.replace(/{{DEFAULTSORT:.*?}}/g, ''); } api.postWithToken( 'csrf', { action: 'edit', title: title, text: text, baserevid: revid, summary: edit.val() ? '使用HotDefaultSort小工具' + wgULS('将默认排序关键词修改为“', '將預設排序方式修改為「') + edit.val() + wgULS('”', '」') : '使用HotDefaultSort小工具移除' + wgULS('默认排序关键词', '預設排序方式') }).then(function(){ key = edit.val(); initialize(); }); }); } }); }; mw.hook( 'gadget.hotcat.preloaded' ).add( main ); }); //</nowiki>