사용자:기나ㅏㄴ/scriptManager.js

위키백과, 우리 모두의 백과사전.

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

var scriptsToManage;
(function() {
	var $html;
	if (mw.config.get('skin') === "vector") {
		$html = $("<nav class='mw-portlet vector-menu vector-menu-portal portal' role='navigation' id='p-enable-scripts' aria-labelledby='p-enable-scripts-label'></nav>");
		$html.append("<label id='p-enable-scripts-label' class='vector-menu-heading'><span class='vector-menu-heading-label'>스크립트 활성화</span></label>");
		$html.append("<div class='vector-menu-content'><ul class='vector-menu-content-list'></ul></div>");
	} else if (mw.config.get('skin') === "vector-2022") {
		$html = $("<div class='vector-main-menu-group vector-menu mw-portlet' role='navigation' id='p-enable-scripts' aria-labelledby='p-enable-scripts-label'></div>");
		$html.append("<div id='p-enable-scripts-label' class='vector-menu-heading'><span class='vector-menu-heading-label'>스크립트 활성화</span></label>");
		$html.append("<div class='vector-menu-content'><ul class='vector-menu-content-list'></ul></div>");
	} else {
		$html = $("<div class='generated-sidebar portlet' id='p-enable_scripts' role='navigation'></div>");
		$html.append("<h3>스크립트 활성화</h3>");
		$html.append("<div class='pBody'><ul></ul></div>");
	}
 
	var loadScript = function(e) {
		mw.loader.load(e.data.src);
		$(e.target).parent().remove();
	};
 
 	if(scriptsToManage) {
		$.each(scriptsToManage, function(script, src) {
			var scriptName = script.replace(/ /g,"_"),
				containerSelector = '#column-one';
			$html.find("ul").append("<li><a href='javascript:' id='t-enablescript-"+scriptName+"'>"+script+"</a></li>");
			if (mw.config.get('skin') === 'vector') {
				containerSelector = '#mw-panel';
			} else if (mw.config.get('skin') === 'vector-2022') {
				containerSelector = '.vector-main-menu';
			}
			$(containerSelector).append($html);
			$("#t-enablescript-"+scriptName).click({
				script: script,
				src: src
			}, loadScript);
		});
 	} else {
 		$html.find("ul").append("<li><a href='//ko.wikipedia.org/wiki/사용자:기나ㅏㄴ/scriptManager'>등록된 스크립가 없습니다!</a></li>");
 		$(mw.config.get('skin') === "vector" || mw.config.get('skin') === "vector-2022" ? "#mw-panel" : "#column-one").append($html);
 	}
}());