미디어위키:Common.js

잉여 위키
Admin (토론 | 기여)님의 2026년 7월 14일 (화) 23:36 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 이동 검색으로 이동

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

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */
/* SyntaxHighlight 코드 블록에 복사 버튼 추가 */
mw.hook('wikipage.content').add(function ($content) {
    $content.find('div.mw-highlight').each(function () {
        var box = this;
        var pre = box.querySelector('pre');

        if (!pre || box.querySelector('.code-copy-btn')) {
            return;
        }

        var button = document.createElement('button');
        button.type = 'button';
        button.className = 'code-copy-btn';
        button.textContent = '복사';
        button.setAttribute('aria-label', '코드 복사');

        button.addEventListener('click', function () {
            navigator.clipboard.writeText(pre.innerText).then(function () {
                button.textContent = '복사됨!';
                button.classList.add('copied');

                window.setTimeout(function () {
                    button.textContent = '복사';
                    button.classList.remove('copied');
                }, 2000);
            }).catch(function () {
                button.textContent = '복사 실패';

                window.setTimeout(function () {
                    button.textContent = '복사';
                }, 2000);
            });
        });

        box.classList.add('has-copy-button');
        box.appendChild(button);
    });
});