본문으로 이동

미디어위키:Common.js

김준호위키
Junho85 (토론 | 기여)님의 2025년 6월 21일 (토) 22:03 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

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

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
$(function() {
    // 1. 애드센스에서 받은 광고 단위(<ins>) 정보를 변수에 저장합니다.
    var adContainer = '<div id="adsense-top-container" style="margin-bottom: 15px; text-align: center;">' +
                      '' +
                      '<ins class="adsbygoogle" ' +
                      'style="display:block" ' +
                      'data-ad-client="ca-pub-8756229796915320" ' +
                      'data-ad-slot="7998241024" ' +
                      'data-ad-format="auto" ' +
                      'data-full-width-responsive="true"></ins>' +
                      '</div>';

    // 2. 메인 문서 페이지(일반 글)인지, 그리고 광고 컨테이너가 아직 없는지 확인합니다.
    if (mw.config.get('wgNamespaceNumber') === 0 && $('#adsense-top-container').length === 0) {
        
        // 3. 정의한 광고 컨테이너를 본문 상단에 삽입합니다.
        $('#mw-content-text').prepend(adContainer);

        // 4. 애드센스 기본 스크립트(adsbygoogle.js)를 페이지에 동적으로 추가합니다.
        // 페이지에 이미 스크립트가 로드되어 있다면 중복해서 추가하지 않습니다.
        if ($('script[src*="adsbygoogle.js"]').length === 0) {
            var adScript = document.createElement('script');
            adScript.async = true;
            adScript.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8756229796915320';
            adScript.crossOrigin = 'anonymous';
            document.head.appendChild(adScript);
        }

        // 5. 페이지에 삽입된 광고 단위(<ins>)를 실행시켜 실제 광고를 채웁니다.
        try {
            (adsbygoogle = window.adsbygoogle || []).push({});
        } catch (e) {
            console.error("AdSense push error: ", e);
        }
    }
});