LLWiki正在建设中,欢迎加入我们!
“MediaWiki:Gadget-HotCat-zh-core.js”的版本间差异
跳转到导航
跳转到搜索
小 |
小 |
||
第36行: | 第36行: | ||
if(isFind) { |
if(isFind) { |
||
$('<span class="metadata nopopups hotcatlink"><span> <a href="#catlinks" title="移除">(−)</a></span></span>').insertAfter(catlink); |
$('<span class="metadata nopopups hotcatlink"><span> <a href="#catlinks" title="移除">(−)</a></span></span>').insertAfter(catlink); |
||
if(cats.includes(catHans)) { catlink.attr('title','Category:' + catHans); } |
|||
else { catlink.attr('title','Category:' + catHant); } |
|||
catlink.next().find('a').data('wikitext', wikitext.replace(regExp, '')) |
catlink.next().find('a').data('wikitext', wikitext.replace(regExp, '')) |
||
.on('click', function(e) { |
.on('click', function(e) { |
2020年8月22日 (六) 08:58的版本
$(function() { if(mw.config.get('wgAction') == 'view') { const lang = mw.config.get('wgUserVariant'), pageName = mw.config.get('wgPageName'); var api = new mw.Api(), request1 = api.get({action:'parse', page:pageName, prop:'wikitext|categories'}), request2 = api.get({action:'query', titles:pageName, prop:'categories'}); $.when(request1, request2).done(function(data1, data2) { const wikitext = data1[0].parse.wikitext["*"], cats = data1[0].parse.categories; var obj = data2[0].query.pages[mw.config.get( 'wgArticleId' )].categories, canonicalCats = obj ? Object.keys(obj).map((key) => obj[key].title) : []; if(canonicalCats.length === 0) { return; } cats.forEach(function(ele) { var cat = 'Category:' + ele["*"].replace(/_/g, ' '), i = canonicalCats.indexOf(cat); if(i>=0) { canonicalCats.splice(i,1); return; } }); api.get({action:'query', prop:'info', inprop:'varianttitles', indexpageids:1, titles:canonicalCats.join("|")}) .then(function(data) { const ids = data.query.pageids; ids.forEach(function(ele) { var catlink = $('#catlinks a[title="' + data.query.pages[ele].title + '"]'); const catVt = data.query.pages[ele].varianttitles, catHans = catVt["zh-hans"].substring(3), catHant = catVt["zh-hant"].substring(3), regExp = new RegExp('\\[\\[(category|Category|分類|分类):(' + catHans.slice(0,1) + '|' + catHans.slice(0,1).toLowerCase() + ')' + '(' + catHans.substring(1) + '|' + catHant.substring(1) + ')\\]\\]', 'g'), isFind = wikitext.match(regExp); if(isFind) { $('<span class="metadata nopopups hotcatlink"><span> <a href="#catlinks" title="移除">(−)</a></span></span>').insertAfter(catlink); if(cats.includes(catHans)) { catlink.attr('title','Category:' + catHans); } else { catlink.attr('title','Category:' + catHant); } catlink.next().find('a').data('wikitext', wikitext.replace(regExp, '')) .on('click', function(e) { e.preventDefault(); localStorage.setItem('HotCatzh', $(e.target).data('wikitext')); window.location.href = '/zh?title=' + pageName + '&action=submit'; }); } }); }); }); } else if(mw.config.get('wgAction') == 'submit') { const HotCatzh = localStorage.HotCatzh; localStorage.removeItem('HotCatzh'); if(HotCatzh) { $('#wpTextbox1').val(HotCatzh); $('#wpDiff').click(); } } });