MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary |
||
| (64 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
if(!mw.config.get('wgUserId')){ | |||
var currentUrl = window.location.href; | |||
var commJs = currentUrl.includes('Common.js'); | |||
var commCss = currentUrl.includes('Common.css'); | |||
var vectorJs = currentUrl.includes('Vector.js'); | |||
var vectorCss = currentUrl.includes('Vector.css'); | |||
if(commJs || commCss || vectorJs || vectorCss){ | |||
window.location.href = '/index.php'; | |||
} | |||
// 도구 메뉴들 숨김(사이드바); | |||
$pTb = document.getElementById('p-tb'); | |||
if ($pTb) $pTb.parentElement.removeChild($pTb); | |||
// 문서의 역사롤 봅니다. (hidden 시킴) | |||
var $lastModifiedBar = document.querySelector('.last-modified-bar'); | |||
if($lastModifiedBar) $lastModifiedBar.parentElement.removeChild($lastModifiedBar); | |||
//파일중복 메세지 제거 | |||
var $duplicates = document.getElementById('mw-imagepage-section-duplicates'); | |||
if($duplicates) $duplicates.parentElement.removeChild($duplicates); | |||
// 모든 문서 목록 검색 box 삭제 | |||
var $wrapper = document.querySelector('.mw-htmlform-ooui-wrapper') | |||
if ($wrapper) $wrapper.parentElement.removeChild($wrapper); | |||
} | |||
/* | |||
else{ | |||
$searchBox = document.querySelector('.mw-htmlform-ooui-wrapper'); | |||
if($searchBox) $searchBox.style.display = 'block'; | |||
} | |||
*/ | |||
/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */ | /* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */ | ||
| Line 63: | Line 94: | ||
var mouseY=0; | var mouseY=0; | ||
/* 각주 팝업창 위치 보정 DOM */ | /* 각주 팝업창 위치 보정 DOM */ | ||
var observer = new MutationObserver(function (mutationList) { | |||
mutationList.forEach(function (mutation) { | |||
mutation.addedNodes.forEach(function (node) { | |||
if (node.classList && (node.classList.contains('mwe-popups')|| node.classList.contains('rt-tooltip'))) { | |||
requestAnimationFrame(function () { | |||
var bodyLeft = document.body.getBoundingClientRect().left; | |||
var left = parseInt(window.getComputedStyle(node).left); | |||
node.style.left = left - bodyLeft + 'px'; | |||
}); | |||
} | |||
}); | |||
}); | |||
}); | |||
// 감시할 대상 설정 | |||
observer.observe(document.body, { | |||
childList: true, | |||
subtree: true, | |||
}); | |||
); | |||
/* 우클릭 방지 */ | /* 우클릭 방지 */ | ||
window.oncontextmenu = function (e) { | if (mw.config.get("wgUserName") == null) { | ||
window.oncontextmenu = function (e) { | |||
return e.preventDefault(); | return e.preventDefault(); | ||
}; | }; | ||
window.onselectstart = function (e) { | window.onselectstart = function (e) { | ||
return e.preventDefault(); | return e.preventDefault(); | ||
}; | }; | ||
} | |||
| Line 272: | Line 298: | ||
} | } | ||
} | } | ||
// | //넘겨주기 문서를 숨깁니다. | ||
// | var redirectList = document.querySelectorAll('.mw-parser-output li.allpagesredirect') | ||
for (var i=0; i < redirectList.length; i++){ | |||
redirectList[i].style.display = 'none'; | |||
} | |||
// 이미지문서에서 commons 라이센스 관련 링크를 숨긴다. | |||
var $sharedUploadNotice = document.querySelector('.sharedUploadNotice p'); | |||
if($sharedUploadNotice){ | |||
$sharedUploadNotice.parentElement.removeChild($sharedUploadNotice); | |||
} | |||
// origin file 영역 숨김. | |||
var $fullMedia = document.querySelector('.fullMedia p'); | |||
if($fullMedia){ | |||
$fullMedia.parentElement.removeChild($fullMedia); | |||
} | |||
// 데스크탑 언어 | |||
var langDiv = document.getElementById('right-navigation'); | |||
if(langDiv){ | |||
var navHTML = '<nav id="p-cactions" class="mw-portlet mw-portlet-cactions vector-menu-dropdown-noicon vector-menu vector-menu-dropdown" aria-labelledby="p-cactions-label" role="navigation">' + | |||
'<input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label">' + | |||
'<label id="p-cactions-label" aria-label="" class="vector-menu-heading">' + | |||
'<span class="select-language"></span>' + | |||
'<span class="vector-menu-heading-label">Language</span>' + | |||
'</label>' + | |||
'<div class="vector-menu-content">' + | |||
'<ul class="vector-menu-content-list">' + | |||
'<li class="mw-list-item"><a href="https://churchofgod.wiki" title="하나님의 교회 지식사전"><span>Korean</span></a></li>' + | |||
'<li class="mw-list-item"><a href="https://churchofgod.wiki/en" title="Church of God Knowledge Encyclopedia"><span>English</span></a></li>' + | |||
'<li class="mw-list-item"><a href="https://churchofgod.wiki/es" title="ChurchEnciclopedia de conocimiento de la Iglesia de Dios"><span>Spanish</span></a></li>' + | |||
'<li class="mw-list-item"><a href="https://churchofgod.wiki/vi" title="Từ điển tri thức Hội Thánh của Đức Chúa Trời"><span>Vietnamese</span></a></li>' + | |||
'<li class="mw-list-item"><a href="https://churchofgod.wiki/ne" title="नेपाली"><span>Nepali</span></a></li>' + | |||
'<li class="mw-list-item"><a href="https://churchofgod.wiki/pt" title="ENCICLOPÉDIA DO CONHECIMENTO DA IGREJA DE DEUS"><span>português</span></a></li>' + | |||
'</ul>' + | |||
'</div>' + | |||
'</nav>'; | |||
langDiv.insertAdjacentHTML('afterbegin', navHTML); | |||
} | |||