미디어위키:Liberty.js

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

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

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
  • 오페라: Ctrl-F5를 입력.
/* 이 자바스크립트 설정은 리버티 스킨을 사용하는 사용자에게 적용됩니다 */
document.addEventListener('DOMContentLoaded', function() {
  // 화면 크기가 1022.4px 이하일 때 순서 변경 함수
  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');

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

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

  // 초기 로딩 시 순서 변경
  changeOrder();
});

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

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