미디어위키:Liberty.js: 두 판 사이의 차이

편집 요약 없음
태그: 되돌려진 기여
편집 요약 없음
태그: 되돌려진 기여
1번째 줄: 1번째 줄:
(function () {
    function toggleCatlinks() {
        let catlinks = document.getElementById('catlinks');
        let buttonContainer = document.querySelector('.catlinks-button-container');
       
        observer.disconnect();
        catlinks.style.height = '';
        buttonContainer.remove();
       
        observer.observe(document.body, { subtree: true, childList: true });
    }
    let observer = new MutationObserver(function (mutations) {
        mutations.forEach(function () {
            let catlinks = document.getElementById('catlinks');
            let catlinksContent = document.getElementById('mw-normal-catlinks');
           
            if (catlinksContent && catlinksContent.offsetHeight > 26) {
                catlinksContent.style.height = '25.594px';
               
                let button = document.createElement('button');
                button.className = 'catlinks-button';
                button.textContent = '더 보기';
                button.addEventListener('click', toggleCatlinks);
               
                let buttonContainer = document.createElement('div');
                buttonContainer.className = 'catlinks-button-container';
                buttonContainer.appendChild(button);
               
                catlinks.appendChild(buttonContainer);
            }
        });
    });
    observer.observe(document.body, { subtree: true, childList: true });
   
    window.addEventListener('load', function () {
        let catlinks = document.getElementById('catlinks');
        let catlinksContent = document.getElementById('mw-normal-catlinks');
       
        if (catlinksContent && catlinksContent.offsetHeight > 26) {
            catlinksContent.style.height = '25.594px';
           
            let button = document.createElement('button');
            button.className = 'catlinks-button';
            button.textContent = '더 보기';
            button.addEventListener('click', toggleCatlinks);
           
            let buttonContainer = document.createElement('div');
            buttonContainer.className = 'catlinks-button-container';
            buttonContainer.appendChild(button);
           
            catlinks.appendChild(buttonContainer);
        }
    });
})();
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 �댁긽�대㈃ �묒뾽 �섑뻾
             // 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瑜� 臾몄꽌�� �깅줉�섏뿬 蹂��붾� 媛먯�
// 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 �댁긽�대㈃ �묒뾽 �섑뻾
         // 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 �깅줉
     // 다시 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 });
}