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

編集の要約なし
編集の要約なし
 
(同じ利用者による、間の3版が非表示)
15行目: 15行目:
     $( function () {
     $( function () {
         var ns  = mw.config.get( 'wgNamespaceNumber' );
         var ns  = mw.config.get( 'wgNamespaceNumber' );
         var skin = mw.config.get( 'skin' ); // 'vector' / 'vector-2022' / 'minerva' etc.
         var skin = mw.config.get( 'skin' ); // 'vector' / 'vector-2022' / 'minerva' など


         // 広告を出す名前空間を制限(例:本文とプロジェクトだけ)
         // 広告を出す名前空間を制限(本文とプロジェクトだけ、など)
         if ( [0, 4].indexOf( ns ) === -1 ) {
         if ( [0, 4].indexOf( ns ) === -1 ) {
             return;
             return;
         }
         }


         // ---- ここからスマホ版(Minerva)専用処理 ----
        var clientId  = 'ca-pub-8908534172586133';  // ★あなたの client ID
        var bottomSlot = '6591340801';              // ★本文下用スロット
        var sideSlot  = '6591340801';              // ★サイドバー用スロット(別なら変える)
 
         /* ========= スマホ版(Minerva)のみ:本文下に 1 個だけ ========= */
         if ( skin === 'minerva' ) {
         if ( skin === 'minerva' ) {
            // すでに挿入済みなら二重挿入を防ぐ
 
             if ( $( '.keizaiya-ad-bottom' ).length ) {
             if ( $( '.keizaiya-ad-bottom' ).length ) {
                 return;
                 return; // 二重挿入防止
             }
             }


33行目: 37行目:
                     '<ins class="adsbygoogle" ' +
                     '<ins class="adsbygoogle" ' +
                         'style="display:block" ' +
                         'style="display:block" ' +
                         'data-ad-client="ca-pub-8908534172586133" ' + // ★自分の client ID
                         'data-ad-client="' + clientId + '" ' +
                         'data-ad-slot="6591340801" ' +                 // ★スマホ用 or 共通の ad-slot
                         'data-ad-slot="' + bottomSlot + '" ' +
                         'data-ad-format="auto" ' +
                         'data-ad-format="auto" ' +
                         'data-full-width-responsive="true"></ins>' +
                         'data-full-width-responsive="true"></ins>' +
                 '</div>';
                 '</div>';


            // Minerva では本文領域が .content / .mw-body-content あたりになる
             var $content = $( '#mw-content-text, .mw-body-content, .content' );
             var $content = $( '#mw-content-text, .mw-body-content, .content' );
             if ( $content.length ) {
             if ( $content.length ) {
                // 本文のすぐ下に挿入
                 $( bottomAdHtml ).insertAfter( $content.last() );
                 $( bottomAdHtml ).insertAfter( $content.last() );
                 (adsbygoogle = window.adsbygoogle || []).push({});
                 (adsbygoogle = window.adsbygoogle || []).push({});
             }
             }


             // ※スマホではサイドバー広告は作らない
             // スマホはサイドバー無しなのでここで終了
             return;
             return;
         }
         }


         // ---- ここから PC 版(vector 等)用:今まで動いている処理 ----
         /* ========= ここから PC 版(vector / vector-2022 等) ========= */


         // 既に作っている PC 用の「本文下+サイドバー下広告」挿入コードをここに置く
         // ■ 本文下広告(PC)
        // 例:
         if ( $( '.keizaiya-ad-bottom' ).length === 0 ) {
         if ( $( '.keizaiya-ad-bottom' ).length === 0 ) {
             var bottomAd =
             var bottomAd =
60行目: 61行目:
                     '<ins class="adsbygoogle" ' +
                     '<ins class="adsbygoogle" ' +
                         'style="display:block" ' +
                         'style="display:block" ' +
                         'data-ad-client="ca-pub-8908534172586133" ' +
                         'data-ad-client="' + clientId + '" ' +
                         'data-ad-slot="6591340801" ' +
                         'data-ad-slot="' + bottomSlot + '" ' +
                         'data-ad-format="auto" ' +
                         'data-ad-format="auto" ' +
                         'data-full-width-responsive="true"></ins>' +
                         'data-full-width-responsive="true"></ins>' +
                 '</div>';
                 '</div>';


             var $contentPc = $( '#mw-content-text' );
             var $contentPc = $( '#mw-content-text, .mw-body-content' );
             if ( $contentPc.length ) {
             if ( $contentPc.length ) {
                 $( bottomAd ).insertAfter( $contentPc );
                 $( bottomAd ).insertAfter( $contentPc.last() );
                 (adsbygoogle = window.adsbygoogle || []).push({});
                 (adsbygoogle = window.adsbygoogle || []).push({});
             }
             }
         }
         }


        // ■ サイドバー広告(PC)
         if ( $( '.keizaiya-ad-sidebar' ).length === 0 ) {
         if ( $( '.keizaiya-ad-sidebar' ).length === 0 ) {
             var sideAd =
             var sideAd =
78行目: 80行目:
                     '<ins class="adsbygoogle" ' +
                     '<ins class="adsbygoogle" ' +
                         'style="display:block" ' +
                         'style="display:block" ' +
                         'data-ad-client="ca-pub-xxxxxxxxxxxxxxxx" ' +
                         'data-ad-client="' + clientId + '" ' +
                         'data-ad-slot="ZZZZZZZZZZ" ' +
                         'data-ad-slot="' + sideSlot + '" ' +
                         'data-ad-format="auto"></ins>' +
                         'data-ad-format="auto" ' +
                        'data-full-width-responsive="true"></ins>' +
                 '</div>';
                 '</div>';


             var $panel = $( '#mw-panel' );
            // Vector 旧・新どちらでも拾えそうなセレクタ
             if ( $panel.length ) {
             var $sidebar = $( '#mw-panel, .vector-sidebar, .mw-sidebar' );
                 $( sideAd ).appendTo( $panel );
 
             if ( $sidebar.length ) {
                 $sidebar.first().append( sideAd );
                 (adsbygoogle = window.adsbygoogle || []).push({});
                 (adsbygoogle = window.adsbygoogle || []).push({});
             }
             }
91行目: 96行目:
     } );
     } );
} );
} );
// === 承認済み版バー(最新版を閲覧)を一般閲覧者から隠す ===
mw.loader.using( 'mediawiki.util', function () {
    $( function () {
        // 現在のユーザーが所属するグループ
        var groups = mw.config.get( 'wgUserGroups' ) || [];
        // 管理者・執筆者だけはバーを表示したい
        var isPrivileged =
            groups.indexOf( 'sysop' ) !== -1 ||
            groups.indexOf( 'writer' ) !== -1;  // writer も非表示にするならこの行を消す
        if ( !isPrivileged ) {
            // ページ内の notLatestMsg をまるごと削除
            $('.notLatestMsg').remove();
        }
    });
});