본문으로 이동

미디어위키:Common.js

한국고고학사전
Admin (토론 | 기여)님의 2025년 12월 4일 (목) 20:07 판 (새 문서: 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다.: mw.loader.using(['mediawiki.api', 'mediawiki.util'], function () { // 검색 결과 페이지(Special:Search)가 아니면 종료 if (mw.config.get('wgCanonicalSpecialPageName') !== 'Search') { return; } var api = new mw.Api(); var titles = []; // 검색 결과에서 문서 제목 수집 $('.mw-search-result-heading a').each(function () { va...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

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

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */
mw.loader.using(['mediawiki.api', 'mediawiki.util'], function () {
    // 검색 결과 페이지(Special:Search)가 아니면 종료
    if (mw.config.get('wgCanonicalSpecialPageName') !== 'Search') {
        return;
    }

    var api = new mw.Api();
    var titles = [];

    // 검색 결과에서 문서 제목 수집
    $('.mw-search-result-heading a').each(function () {
        var t = $(this).attr('title');
        if (t) {
            titles.push(t);
        }
    });

    if (!titles.length) {
        return;
    }

    // 한 번에 displaytitle(pageprops) 조회
    api.get({
        action: 'query',
        titles: titles.join('|'),
        prop: 'pageprops',
        ppprop: 'displaytitle',
        formatversion: 2
    }).done(function (data) {
        if (!data.query || !data.query.pages) {
            return;
        }

        var map = {};
        data.query.pages.forEach(function (p) {
            if (p.pageprops && p.pageprops.displaytitle) {
                map[p.title] = p.pageprops.displaytitle;
            }
        });

        // 검색 결과 제목을 displaytitle로 교체
        $('.mw-search-result-heading a').each(function () {
            var $a = $(this);
            var t = $a.attr('title');
            var dt = map[t];
            if (dt) {
                $a.html(dt); // 링크 텍스트만 교체 (URL은 그대로)
            }
        });
    });
});