사용자:Wikiwater2020/Req.js
참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다. 구글 크롬, 파이어폭스, 마이크로소프트 엣지, 사파리: ⇧ Shift 키를 누른 채 "새로 고침" 버튼을 클릭하십시오. 더 자세한 정보를 보려면 위키백과:캐시 무시하기 항목을 참고하십시오.
/*
[[미디어위키:Group-sysop.js]]에서 가져옴.
*/
// '위키백과:### 요청' 문서 목차에 {{완료}} 혹은 {{미완료}}된 요청들 취소선 긋기
// by klutzy: //ko.wikipedia.org/w/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Klutzy/common.js&oldid=6414855
// 파이어폭스 3.5 이상에서 동작합니다. 다른 브라우저의 경우도 최신 브라우저에서만 동작할 가능성이 높습니다.
// by Ykhwong: 크롬, 파이어폭스 등에서 동작 문제가 발생하여 소스 전면 수정합니다. (2017-12-18)
mw.hook('wikipage.content').add(function() {
var arr_ids = [];
var toc;
if (
mw.config.get('wgNamespaceNumber') !== 4 ||
mw.config.get('wgAction') !== "view" ||
! /[\s_]+(요청|신청)(\/|$)/.test(mw.config.get('wgTitle'))
) {
return;
}
toc = document.getElementById("toc");
if ( ! ( toc && toc.getElementsByTagName("ul")[0] ) ) {
return;
}
$( '#toc li.toclevel-1' ).each( function ( i, li ) {
var cnt = 0;
var checked = false;
var hrefNode;
var sibl;
var txt = '#' + $.escapeSelector($( li )
.find( 'span.toctext' ).text()
.replace(/\s+/g, "_"));
arr_ids.forEach(function (item) {
if ( item === txt ) {
cnt++;
}
});
arr_ids.push(txt);
if ( cnt !== 0 ) {
cnt++;
txt = txt + "_" + cnt;
}
sibl = $(txt).parent().next();
if ( sibl.html() === undefined ) {
return;
}
while ( sibl.html() && sibl[0].nodeName.toLowerCase() !== "h2" ) {
var filename = sibl.find('img').attr("alt");
switch (filename) {
case "Yes check.svg":
case "X mark.svg":
case "Yellow check.svg":
case "U2713.svg":
checked = true;
break;
}
if ( checked ) {
break;
}
sibl = sibl.next();
}
if ( !checked ) {
return;
}
hrefNode = toc.getElementsByClassName("toclevel-1")[i]
.getElementsByTagName("a")[0];
hrefNode.innerHTML = "<del style='color: gray !important'>" +
hrefNode.innerHTML + "</del>";
});
});