User:Wetittwinkle/modules/twinklediff.js
外观
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
// <nowiki>
(function($){Twinkle.diff=function twinklediff(){if(mw.config.get('wgNamespaceNumber')<0||mw.config.get('wgPageContentModel')==='flow-board'||!mw.config.get('wgArticleId')){return;}
var query={'title':mw.config.get('wgPageName'),'diff':'cur','oldid':'prev'};Twinkle.addPortletLink(mw.util.wikiScript("index")+"?"+$.param(query),wgULS('最后','最後'),'tw-lastdiff',wgULS('显示最后修改','顯示最後變更'));if(Morebits.queryString.exists('diff')){Twinkle.addPortletLink(function(){Twinkle.diff.evaluate(false);},'自上','tw-since',wgULS('显示与上一修订版本间的差异','顯示與上一修訂版本間的差異'));Twinkle.addPortletLink(function(){Twinkle.diff.evaluate(true);},'自我','tw-sincemine',wgULS('显示与我做出的修订版本的差异','顯示與我做出的修訂版本的差異'));var oldid=/oldid=(.+)/.exec($('#mw-diff-ntitle1').find('strong a').first().attr("href"))[1];query={'title':mw.config.get('wgPageName'),'diff':'cur','oldid':oldid};Twinkle.addPortletLink(mw.util.wikiScript("index")+"?"+$.param(query),wgULS('当前','目前'),'tw-curdiff',wgULS('显示与当前版本间的差异','顯示與目前版本間的差異'));}};Twinkle.diff.evaluate=function twinklediffEvaluate(me){var user;if(me){user=mw.config.get('wgUserName');}else{var node=document.getElementById('mw-diff-ntitle2');if(!node){return;}
user=$(node).find('a').first().text();}
var query={'prop':'revisions','action':'query','titles':mw.config.get('wgPageName'),'rvlimit':1,'rvprop':['ids','user'],'rvstartid':mw.config.get('wgCurRevisionId')-1,'rvuser':user};Morebits.status.init(document.getElementById('mw-content-text'));var wikipedia_api=new Morebits.wiki.api(wgULS('抓取最初贡献者信息','擷取最初貢獻者資訊'),query,Twinkle.diff.callbacks.main);wikipedia_api.params={user:user};wikipedia_api.post();};Twinkle.diff.callbacks={main:function(self){var xmlDoc=self.responseXML;var revid=$(xmlDoc).find('rev').attr('revid');if(!revid){self.statelem.error(wgULS('未找到合适的早期版本,或 '+self.params.user+' 是唯一贡献者。取消。','未找到合適的早期版本,或 '+self.params.user+' 是唯一貢獻者。取消。'));return;}
var query={'title':mw.config.get('wgPageName'),'oldid':revid,'diff':mw.config.get('wgCurRevisionId')};window.location=mw.util.wikiScript('index')+'?'+Morebits.queryString.create(query);}};})(jQuery);
// </nowiki>