미디어위키:Liberty.js

신사 (토론 | 기여)님의 2024년 12월 9일 (월) 18:54 판

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
/* 이 자바스크립트 설정은 리버티 스킨을 사용하는 사용자에게 적용됩니다 */

document.addEventListener('DOMContentLoaded', function() {
  function changeOrder() {
    const wrapper = document.querySelector('.liberty-content-header');
    const alertNotice = document.querySelector('.alert.alert-dismissible.fade.in.alert-info.liberty-notice');
    const contentTools = document.querySelector('.content-tools');
    const title = document.querySelector('.title');
    const contentSub = document.querySelector('.contentSub');

    if (!wrapper || !alertNotice || !contentTools || !title || !contentSub) {
      console.log("Required elements not found.");
      return;
    }

    // 화면 너비가 1022.4px 이하일 때
    if (window.innerWidth <= 1022.4) {
      // alertNotice → title → contentTools → contentSub 순으로 변경
      wrapper.appendChild(alertNotice);
      wrapper.appendChild(title);      // title을 두 번째로 이동
      wrapper.appendChild(contentTools); // contentTools를 세 번째로 이동
      wrapper.appendChild(contentSub);   // contentSub는 그대로
    } else {
      // 1022.4px 이상일 때 순서 변경
      wrapper.appendChild(alertNotice);  // alertNotice는 첫 번째
      wrapper.appendChild(contentTools); // contentTools는 두 번째
      wrapper.appendChild(title);        // title은 세 번째
      wrapper.appendChild(contentSub);   // contentSub는 네 번째
    }
  }

  // 페이지 로딩 후 즉시 순서 변경
  changeOrder();

  // 창 크기 변경 시마다 순서 업데이트
  window.addEventListener('resize', function() {
    changeOrder();
  });
});

// "mw-redirectedfrom" 클래스를 가진 요소 찾기
const redirectedFromElement = document.querySelector('.mw-redirectedfrom');

// 해당 요소가 존재하면
if (redirectedFromElement) {
  // 텍스트에서 괄호와 괄호 안의 내용을 제거하고 남은 부분만 수정
  redirectedFromElement.innerHTML = redirectedFromElement.innerHTML.replace(/[()]/g, '').trim();
}