「MediaWiki:Common.js」の版間の差分

ページの作成:「ここにあるすべてのJavaScriptは、すべてのページ読み込みですべての利用者に対して読み込まれます: // ===== 経済屋 Wiki 共通:フッター直前に AdSense 広告を表示 ===== mw.loader.using( 'mediawiki.util', function () { $( function () { // AdSense を出したくない名前空間があればここで弾く(例:特別ページとか) var ns = mw.config.get( 'wgNamespaceNumber' );…」
 
編集の要約なし
 
(同じ利用者による、間の6版が非表示)
1行目: 1行目:
/* ここにあるすべてのJavaScriptは、すべてのページ読み込みですべての利用者に対して読み込まれます */
// === Google AdSense loader ===
// ===== 経済屋 Wiki 共通:フッター直前に AdSense 広告を表示 =====
if ( !window.keizaiyaAdsLoaded ) {
    window.keizaiyaAdsLoaded = true;
 
    var s = document.createElement( 'script' );
    s.async = true;
    // ★ここを自分の client ID に変える
    s.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8908534172586133';
    s.crossOrigin = 'anonymous';
    document.head.appendChild( s );
}
 
// === 本文下 & サイドバー下に広告枠を差し込む ===
mw.loader.using( 'mediawiki.util', function () {
mw.loader.using( 'mediawiki.util', function () {
     $( function () {
     $( function () {
        // AdSense を出したくない名前空間があればここで弾く(例:特別ページとか)
         var ns   = mw.config.get( 'wgNamespaceNumber' );
         var ns = mw.config.get( 'wgNamespaceNumber' );
        var skin = mw.config.get( 'skin' ); // 'vector' / 'vector-2022' / 'minerva' など
         if ( ns === -1 ) { // 特別ページ
 
        // 広告を出す名前空間を制限(本文とプロジェクトだけ、など)
         if ( [0, 4].indexOf( ns ) === -1 ) {
             return;
             return;
         }
         }


         // フッター要素を探す(Vector 系スキンなら #footer がほぼ必ずある)
         var clientId  = 'ca-pub-8908534172586133';  // ★あなたの client ID
         var $footer = $( '#footer' );
         var bottomSlot = '6591340801';              // ★本文下用スロット
         if ( !$footer.length ) {
        var sideSlot  = '6591340801';               // ★サイドバー用スロット(別なら変える)
            return;
 
        }
        /* ========= スマホ版(Minerva)のみ:本文下に 1 個だけ ========= */
         if ( skin === 'minerva' ) {


        // すでに挿入済みなら二重に出さない
            if ( $( '.keizaiya-ad-bottom' ).length ) {
        if ( $( '#keizaiya-adsense-footer' ).length ) {
                return; // 二重挿入防止
            return;
            }
        }


        // AdSense 本体の script を読み込む(まだなら)
             var bottomAdHtml =
        if ( !window._keizaiyaAdsenseLoaded ) {
                '<div class="keizaiya-ad keizaiya-ad-bottom">' +
             var s = document.createElement( 'script' );
                    '<ins class="adsbygoogle" ' +
            s.async = true;
                        'style="display:block" ' +
            s.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-XXXXXXXXXXXXXXXX';
                        'data-ad-client="' + clientId + '" ' +
            s.crossOrigin = 'anonymous';
                        'data-ad-slot="' + bottomSlot + '" ' +
            document.head.appendChild( s );
                        'data-ad-format="auto" ' +
            window._keizaiyaAdsenseLoaded = true;
                        'data-full-width-responsive="true"></ins>' +
        }
                '</div>';


        // 広告用コンテナを作成してフッターの直前に挿入
            var $content = $( '#mw-content-text, .mw-body-content, .content' );
        var $ad = $('<div id="keizaiya-adsense-footer" class="adsense-footer" style="margin: 1.5em 0;"></div>');
            if ( $content.length ) {
                $( bottomAdHtml ).insertAfter( $content.last() );
                (adsbygoogle = window.adsbygoogle || []).push({});
            }


        var $ins = $('<ins class="adsbygoogle"></ins>')
             // スマホはサイドバー無しなのでここで終了
             .css( 'display', 'block' )
            .attr({
                'data-ad-client': '// ===== 経済屋 Wiki 共通:フッター直前に AdSense 広告を表示 =====
mw.loader.using( 'mediawiki.util', function () {
    $( function () {
        // AdSense を出したくない名前空間があればここで弾く(例:特別ページとか)
        var ns = mw.config.get( 'wgNamespaceNumber' );
        if ( ns === -1 ) { // 特別ページ
             return;
             return;
         }
         }


         // フッター要素を探す(Vector 系スキンなら #footer がほぼ必ずある)
         /* ========= ここから PC 版(vector / vector-2022 等) ========= */
        var $footer = $( '#footer' );
        if ( !$footer.length ) {
            return;
        }


         // すでに挿入済みなら二重に出さない
         // ■ 本文下広告(PC)
         if ( $( '#keizaiya-adsense-footer' ).length ) {
         if ( $( '.keizaiya-ad-bottom' ).length === 0 ) {
             return;
             var bottomAd =
        }
                '<div class="keizaiya-ad keizaiya-ad-bottom">' +
                    '<ins class="adsbygoogle" ' +
                        'style="display:block" ' +
                        'data-ad-client="' + clientId + '" ' +
                        'data-ad-slot="' + bottomSlot + '" ' +
                        'data-ad-format="auto" ' +
                        'data-full-width-responsive="true"></ins>' +
                '</div>';


        // AdSense 本体の script を読み込む(まだなら)
             var $contentPc = $( '#mw-content-text, .mw-body-content' );
        if ( !window._keizaiyaAdsenseLoaded ) {
             if ( $contentPc.length ) {
             var s = document.createElement( 'script' );
                $( bottomAd ).insertAfter( $contentPc.last() );
             s.async = true;
                (adsbygoogle = window.adsbygoogle || []).push({});
            s.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-XXXXXXXXXXXXXXXX';
             }
            s.crossOrigin = 'anonymous';
            document.head.appendChild( s );
             window._keizaiyaAdsenseLoaded = true;
         }
         }


         // 広告用コンテナを作成してフッターの直前に挿入
         // ■ サイドバー広告(PC)
         var $ad = $('<div id="keizaiya-adsense-footer" class="adsense-footer" style="margin: 1.5em 0;"></div>');
         if ( $( '.keizaiya-ad-sidebar' ).length === 0 ) {
            var sideAd =
                '<div class="keizaiya-ad keizaiya-ad-sidebar">' +
                    '<ins class="adsbygoogle" ' +
                        'style="display:block" ' +
                        'data-ad-client="' + clientId + '" ' +
                        'data-ad-slot="' + sideSlot + '" ' +
                        'data-ad-format="auto" ' +
                        'data-full-width-responsive="true"></ins>' +
                '</div>';


        var $ins = $('<ins class="adsbygoogle"></ins>')
            // Vector 旧・新どちらでも拾えそうなセレクタ
            .css( 'display', 'block' )
            var $sidebar = $( '#mw-panel, .vector-sidebar, .mw-sidebar' );
            .attr({
                'data-ad-client': 'ca-pub-8908534172586133',
                'data-ad-slot':  '6591340801',
                'data-ad-format': 'auto',
                'data-full-width-responsive': 'true'
            });


        $ad.append( $ins );
            if ( $sidebar.length ) {
        $ad.insertBefore( $footer );
                $sidebar.first().append( sideAd );
 
                (adsbygoogle = window.adsbygoogle || []).push({});
        // 広告をリクエスト
            }
        window.adsbygoogle = window.adsbygoogle || [];
        }
        window.adsbygoogle.push({});
     } );
     } );
} );
} );
',
                'data-ad-slot':  'YYYYYYYYYY',
                'data-ad-format': 'auto',
                'data-full-width-responsive': 'true'
            });


        $ad.append( $ins );
        $ad.insertBefore( $footer );


         // 広告をリクエスト
// === 承認済み版バー(最新版を閲覧)を一般閲覧者から隠す ===
         window.adsbygoogle = window.adsbygoogle || [];
mw.loader.using( 'mediawiki.util', function () {
         window.adsbygoogle.push({});
    $( function () {
     } );
         // 現在のユーザーが所属するグループ
} );
         var groups = mw.config.get( 'wgUserGroups' ) || [];
 
        // 管理者・執筆者だけはバーを表示したい
         var isPrivileged =
            groups.indexOf( 'sysop' ) !== -1 ||
            groups.indexOf( 'writer' ) !== -1;  // writer も非表示にするならこの行を消す
 
        if ( !isPrivileged ) {
            // ページ内の notLatestMsg をまるごと削除
            $('.notLatestMsg').remove();
        }
     });
});