참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.
- 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
- 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
- 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
- 오페라: Ctrl-F5를 입력.
/**
* 식별자에 대응하는 실제 collapsible 대상 찾기
*
* 동일한 id가 여러 번 사용되는 나무위키식/리브레위키식
* 둘러보기 틀 구조도 지원.
*
* 예:
*
* 1. 상단 버튼용
* <div class="mw-collapsible"
* id="mw-customcollapsible-XXX">
* <div class="mw-customtoggle-XXX">...</div>
* </div>
*
* 2. 실제 펼침 영역
* <div class="mw-collapsible mw-collapsed"
* id="mw-customcollapsible-XXX">
* <div class="mw-customtoggle-XXX">...</div>
* <table>...</table>
* </div>
*
* → 2번을 선택
*/
function getTarget( name ) {
if ( !name ) {
return null;
}
var id =
'mw-customcollapsible-' + name;
/*
* getElementById()를 사용하지 않는다.
*
* 같은 ID가 여러 개 존재하는 위키 문법을
* 지원하기 위해 attribute selector로 전부 가져온다.
*/
var candidates =
document.querySelectorAll(
'[id="' +
escapeAttribute( id ) +
'"], .mw-customcollapsible-' +
escapeSelector( name )
);
if ( !candidates.length ) {
return null;
}
if ( candidates.length === 1 ) {
return candidates[ 0 ];
}
var bestTarget = null;
var bestScore = -1;
var i;
for ( i = 0; i < candidates.length; i++ ) {
var candidate = candidates[ i ];
var score = 0;
/*
* 실제 펼침 영역은 보통 mw-collapsed를 가지고 시작
*/
if (
candidate.classList.contains(
'mw-collapsed'
)
) {
score += 1000;
}
/*
* MediaWiki가 생성한 실제 콘텐츠
*/
if (
candidate.querySelector(
'.mw-collapsible-content'
)
) {
score += 500;
}
/*
* 실제 내용에 표가 존재하는 경우
*/
if (
candidate.querySelector(
'table'
)
) {
score += 200;
}
/*
* wikitable
*/
if (
candidate.querySelector(
'.wikitable'
)
) {
score += 200;
}
/*
* 내부 요소가 많을수록 실제 내용 영역일 가능성이 높음
*/
score +=
candidate.querySelectorAll( '*' ).length;
if ( score > bestScore ) {
bestScore = score;
bestTarget = candidate;
}
}
return bestTarget;
}