MediaWiki:Common.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */ /* TOP 버튼 */ var topButton = document.createElement('div'); topButton.id = 'top-button'; document.body.appendChild(topButton); window.addEventListener('scroll', function (e) { if (window.scrollY > 300) { topButton.classList.add('active'); } else { topButton.classList.remove('active'); } }); topButton.addEventListener('click', function (e) { try { window.scrollTo({ top: 0, left: 0, behavior: 'smooth', }); } catch (e) { window.scrollTo(0, 0); } }); /* 대문 섹션 토글 */ if (mw.config.get('wgPageName') == '대문' || mw.config.get('wgPageName') == '대문테스트') { var titles = document.querySelectorAll('.cog-box-title'); for (var i = 0; i < titles.length; i++) { titles[i].addEventListener('click', function (e) { if (e.currentTarget.classList.contains('open')) { e.currentTarget.classList.remove('open'); } else { e.currentTarget.classList.add('open'); } }); } } /*모든 문서 */ if (mw.config.get('wgPageName').toLowerCase() == '모든_문서_목록') { var list = document.querySelectorAll('.mw-allpages-body li'); for (var i = 0; i < list.length; i++) { var title = list[i].querySelector('a').title; if (title.indexOf(':') != -1) { list[i].parentNode.removeChild(list[i]); } } document.querySelector('.cog-commonpages').style.display = ''; } /* 각주 팝업창 위치 보정 */ document.body.addEventListener( 'DOMNodeInserted', function (e) { if (e.target.classList && e.target.classList.contains('mwe-popups')) { requestAnimationFrame(function () { var bodyLeft = document.body.getBoundingClientRect().left; var left = parseInt(window.getComputedStyle(e.target).left); e.target.style.left = left - bodyLeft + 'px'; }); } }, false ); /* 우클릭 방지 */ window.oncontextmenu = function (e) { return e.preventDefault(); }; window.onselectstart = function (e) { return e.preventDefault(); }; /* 존재하지 않는 문서 페이지의 '기록' 링크 삭제 */ if (mw.config.get('wgUserId') == null && document.querySelector('.plainlinks a')) { document.querySelector('.plainlinks a').removeAttribute('href'); document.querySelector('.plainlinks a').classList.add('disable'); } // 대문 공유 버튼 var sharebox = document.querySelector('.wikishare_toolbox'); if (sharebox) { sharebox.classList.add('a2a_kit_size_20'); sharebox.classList.add('a2a_kit'); var shares = ['Facebook', 'Twitter', 'Email', 'Line', 'Kakao', 'SMS']; for (var i in shares) { var elem = document.querySelector('[title="Share on ' + shares[i] + '"] a'); elem.href = ''; elem.classList.add('a2a_button_' + shares[i].toLowerCase()); } document.querySelector('[title="Share on KakaoTalk"] a').href = '#'; document.querySelector('[title="Share on KakaoTalk"] a').removeAttribute('target'); var share_cdn = document.createElement('script'); share_cdn.src = 'https://static.addtoany.com/menu/page.js'; var kakao_cdn = document.createElement('script'); kakao_cdn.src = 'https://developers.kakao.com/sdk/js/kakao.min.js'; document.body.appendChild(share_cdn); document.body.appendChild(kakao_cdn); window.onload = function () { // 사용할 앱의 JavaScript 키를 설정해 주세요. Kakao.init('5bbf33cb4d93dd3d2100996872cf8e44'); document.querySelector('[title="Share on KakaoTalk"]').onclick = function () { // 카카오 Link 공유 API 사용 Kakao.Link.sendScrap({ requestUrl: location.href, }); }; if(window.wcs) { wcs_do(); } }; }