미디어위키:Gadget-usernameGet.js

리버티게임, 모두가 만들어가는 자유로운 게임
imported>Senouis님의 2021년 1월 1일 (금) 12:51 판 (1월1일 hsl0님 요청)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
/** usernameget
 * 'username' urlget 변수가 사용자 이름으로 지정된 링크를 생성합니다.
 * 제작자: [[사용자:hsl0|hsl0]]
**/ 
function usernameget() {
	var $wrappers = $('.usernameget-wrapper');
	$wrappers.not(':has(a)').wrapInner('<a />');
	linkWarn($wrappers, '<img alt="경고" src="https://upload.wikimedia.org/wikipedia/commons/8/80/OOjs_UI_icon_alert.svg" />사용자 이름이 수집됩니다.', 'warningbox');
	
	$('.usernameget-wrapper a').each(function() {
	    var href = new URL(this.href || location.href);
	    
	    if(href.origin === location.origin && (href.pathname === '/w/index.php' || href.pathname.startsWith('/wiki/'))) {
	        href.searchParams.set('username', mw.config.get('wgUserName'));
	        this.href = href.href;
	        this.classList.add('usernameget-link');
	    } else this.classList.add('usernameget-no');
	});
}
$(usernameget);