|
|
| 1번째 줄: |
1번째 줄: |
| var observer = new MutationObserver(function(mutationsList, observer) {
| |
| // 페이지 내용이 변경될 때마다 실행될 콜백 함수
| |
| mutationsList.forEach(function(mutation) {
| |
| // catlinks 요소를 찾음
| |
| var catlinks = document.getElementById("catlinks");
| |
| var subCatlinks = document.getElementById("mw-normal-catlinks");
| |
| if (subCatlinks && subCatlinks.offsetHeight > 26) {
| |
| // catlinks의 높이가 26px 이상이면 작업 수행
| |
| subCatlinks.style.height = "25.594px";
| |
| // catlinks 내부에 버튼 요소 추가
| |
| var button = document.createElement("button");
| |
| button.className = "catlinks-button";
| |
| button.textContent = "더 보기";
| |
| button.addEventListener("click", toggleCatlinks);
| |
| var buttonContainer = document.createElement("div");
| |
| buttonContainer.className = "catlinks-button-container";
| |
| buttonContainer.appendChild(button);
| |
| catlinks.appendChild(buttonContainer);
| |
| }
| |
| });
| |
| });
| |
|
| |
|
| // MutationObserver를 문서에 등록하여 변화를 감지
| |
| observer.observe(document.body, { subtree: true, childList: true });
| |
|
| |
| window.addEventListener("load", function() {
| |
| var catlinks = document.getElementById("catlinks");
| |
| var subCatlinks = document.getElementById("mw-normal-catlinks");
| |
| if (subCatlinks && subCatlinks.offsetHeight > 26) {
| |
| // catlinks의 높이가 26px 이상이면 작업 수행
| |
| subCatlinks.style.height = "25.594px";
| |
| // catlinks 내부에 버튼 요소 추가
| |
| var button = document.createElement("button");
| |
| button.className = "catlinks-button";
| |
| button.textContent = "더 보기";
| |
| button.addEventListener("click", toggleCatlinks);
| |
| var buttonContainer = document.createElement("div");
| |
| buttonContainer.className = "catlinks-button-container";
| |
| buttonContainer.appendChild(button);
| |
| catlinks.appendChild(buttonContainer);
| |
| }
| |
| });
| |
|
| |
| function toggleCatlinks() {
| |
| var catlinks = document.getElementById("mw-normal-catlinks");
| |
| var catlinksButtonContainer = document.querySelector(".catlinks-button-container");
| |
|
| |
| observer.disconnect(); // MutationObserver 일시 중지
| |
|
| |
| catlinks.style.height = ""; // 높이 속성을 없애기
| |
| catlinksButtonContainer.remove(); // catlinks-button-container 제거
| |
|
| |
| // 다시 MutationObserver 등록
| |
| observer.observe(document.body, { subtree: true, childList: true });
| |
| }
| |