편집 요약 없음 태그: 되돌려진 기여 |
편집 요약 없음 태그: 되돌려진 기여 |
||
| 1번째 줄: | 1번째 줄: | ||
var observer = new MutationObserver(function(mutationsList, observer) { | var observer = new MutationObserver(function(mutationsList, observer) { | ||
// | // 페이지 내용이 변경될 때마다 실행될 콜백 함수 | ||
mutationsList.forEach(function(mutation) { | mutationsList.forEach(function(mutation) { | ||
// catlinks | // catlinks 요소를 찾음 | ||
var catlinks = document.getElementById("catlinks"); | var catlinks = document.getElementById("catlinks"); | ||
var subCatlinks = document.getElementById("mw-normal-catlinks"); | var subCatlinks = document.getElementById("mw-normal-catlinks"); | ||
if (subCatlinks && subCatlinks.offsetHeight > 26) { | if (subCatlinks && subCatlinks.offsetHeight > 26) { | ||
// | // catlinks의 높이가 26px 이상이면 작업 수행 | ||
subCatlinks.style.height = "25.594px"; | subCatlinks.style.height = "25.594px"; | ||
// catlinks | // catlinks 내부에 버튼 요소 추가 | ||
var button = document.createElement("button"); | var button = document.createElement("button"); | ||
button.className = "catlinks-button"; | button.className = "catlinks-button"; | ||
button.textContent = " | button.textContent = "더 보기"; | ||
button.addEventListener("click", toggleCatlinks); | button.addEventListener("click", toggleCatlinks); | ||
var buttonContainer = document.createElement("div"); | var buttonContainer = document.createElement("div"); | ||
| 78번째 줄: | 21번째 줄: | ||
}); | }); | ||
// | // MutationObserver를 문서에 등록하여 변화를 감지 | ||
observer.observe(document.body, { subtree: true, childList: true }); | observer.observe(document.body, { subtree: true, childList: true }); | ||
| 85번째 줄: | 28번째 줄: | ||
var subCatlinks = document.getElementById("mw-normal-catlinks"); | var subCatlinks = document.getElementById("mw-normal-catlinks"); | ||
if (subCatlinks && subCatlinks.offsetHeight > 26) { | if (subCatlinks && subCatlinks.offsetHeight > 26) { | ||
// | // catlinks의 높이가 26px 이상이면 작업 수행 | ||
subCatlinks.style.height = "25.594px"; | subCatlinks.style.height = "25.594px"; | ||
// catlinks | // catlinks 내부에 버튼 요소 추가 | ||
var button = document.createElement("button"); | var button = document.createElement("button"); | ||
button.className = "catlinks-button"; | button.className = "catlinks-button"; | ||
button.textContent = " | button.textContent = "더 보기"; | ||
button.addEventListener("click", toggleCatlinks); | button.addEventListener("click", toggleCatlinks); | ||
var buttonContainer = document.createElement("div"); | var buttonContainer = document.createElement("div"); | ||
| 103번째 줄: | 46번째 줄: | ||
var catlinksButtonContainer = document.querySelector(".catlinks-button-container"); | var catlinksButtonContainer = document.querySelector(".catlinks-button-container"); | ||
observer.disconnect(); // MutationObserver | observer.disconnect(); // MutationObserver 일시 중지 | ||
catlinks.style.height = ""; // | catlinks.style.height = ""; // 높이 속성을 없애기 | ||
catlinksButtonContainer.remove(); // catlinks-button-container | catlinksButtonContainer.remove(); // catlinks-button-container 제거 | ||
// | // 다시 MutationObserver 등록 | ||
observer.observe(document.body, { subtree: true, childList: true }); | observer.observe(document.body, { subtree: true, childList: true }); | ||
} | } | ||
2025년 2월 22일 (토) 16:07 판
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 });
}