미디어위키:Gadget-twinklediff.js

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다. 구글 크롬, 파이어폭스, 마이크로소프트 엣지, 사파리: ⇧ Shift 키를 누른 채 "새로 고침" 버튼을 클릭하십시오. 더 자세한 정보를 보려면 위키백과:캐시 무시하기 항목을 참고하십시오.

// <nowiki>   (function($) {   /*  ****************************************  *** twinklediff.js: Diff module  ****************************************  * Mode of invocation:     Tab on non-diff pages ("Last"); tabs on diff pages ("Since", "Since mine", "Current")  * Active on:              Existing non-special pages  */  Twinkle.diff = function twinklediff() { 	if (mw.config.get('wgNamespaceNumber') < 0 || !mw.config.get('wgArticleId')) { 		return; 	} 	Twinkle.addPortletLink(mw.util.getUrl(mw.config.get('wgPageName'), {diff: 'cur', oldid: 'prev'}), '최근 변경 차이', 'tw-lastdiff', '가장 최근의 차이를 보여줍니다');  	// Show additional tabs only on diff pages 	if (mw.util.getParamValue('diff')) { 		Twinkle.addPortletLink(function() { 			Twinkle.diff.evaluate(false); 		}, '이전 사용자와의 차이', 'tw-since', '이전 사용자가 기여한 판과 마지막 판 사이의 차이를 보여줍니다'); 		Twinkle.addPortletLink(function() { 			Twinkle.diff.evaluate(true); 		}, '내 기여와의 차이', 'tw-sincemine', '마지막 판과 자신의 마지막 판 사이의 차이를 보여줍니다');  		var oldid = /oldid=(.+)/.exec($('#mw-diff-ntitle1').find('strong a').first().attr('href'))[1]; 		Twinkle.addPortletLink(mw.util.getUrl(mw.config.get('wgPageName'), {diff: 'cur', oldid: oldid}), '현재 판과의 차이', 'tw-curdiff', '현재 판과의 차이를 보여줍니다'); 	} };  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) { 			// nothing to do? 			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, // i.e. not the current one 		'rvuser': user 	}; 	Morebits.status.init(document.getElementById('mw-content-text')); 	var wikipedia_api = new Morebits.wiki.api('최초 기여자의 데이터를 가져오고 있습니다', 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('적절한 이전 판이 없거나 ' + self.params.user + '님이 유일한 기여자입니다. 중단합니다.'); 			return; 		} 		window.location = mw.util.getUrl(mw.config.get('wgPageName'), { 			diff: mw.config.get('wgCurRevisionId'), 			oldid: revid 		}); 	} };  Twinkle.addInitCallback(Twinkle.diff, 'diff'); })(jQuery);   // </nowiki>