MediaWiki:Common.js: Difference between revisions

No edit summary
No edit summary
 
(76 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 */
document.body.addEventListener(
var observer = new MutationObserver(function (mutationList) {
     'DOMNodeInserted',
     mutationList.forEach(function (mutation) {
    function (e) {
        mutation.addedNodes.forEach(function (node) {
        if (e.target.classList && e.target.classList.contains('rt-tooltip')) {
            if (node.classList && (node.classList.contains('mwe-popups')|| node.classList.contains('rt-tooltip'))) {
            requestAnimationFrame(function () {
                requestAnimationFrame(function () {
                var bodyTop = document.body.getBoundingClientRect().top;
                    var bodyLeft = document.body.getBoundingClientRect().left;
                var top = parseInt(window.getComputedStyle(e.target).top);
                    var left = parseInt(window.getComputedStyle(node).left);
               
                    node.style.left = left - bodyLeft + 'px';
                var bodyLeft = document.body.getBoundingClientRect().left;
                 });
                var left = parseInt(window.getComputedStyle(e.target).left);
            }
               
        });
                console.log(top , bodyTop , window.scrollY);
    });
                e.target.style.left = left - bodyLeft + 'px';
});
                 // e.target.style.top = top - bodyTop - window.scrollY + 'px';
// 감시할 대상 설정
                console.log(e.target);
observer.observe(document.body, {
               
     childList: true,
            });
     subtree: true,
        }
});
     },
     false
);
 


/* 우클릭 방지  */
/* 우클릭 방지  */
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 269: Line 298:
     }
     }
}
}
//const bodyElem = document.querySelector('#bodyContent');
//bodyElem.classList.add("mw-body-content");


//const navigationElem = document.querySelector('.minerva-user-navigation');
//넘겨주기 문서를 숨깁니다.
//navigationElem.remove()
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);
}