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

提供: 経済屋wiki
ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
110行目: 110行目:
     if ( !isPrivileged ) {
     if ( !isPrivileged ) {
         // 一般閲覧者には ApprovedRevs の「最新版を閲覧」バーごと消す
         // 一般閲覧者には ApprovedRevs の「最新版を閲覧」バーごと消す
         $content.find( 'notLatestMsg' ).remove();
         $content.find( '.notLatestMsg' ).remove();
     }
     }
} );
} );

2025年11月23日 (日) 00:41時点における版

// === Google AdSense loader ===
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 () {
    $( function () {
        var ns   = mw.config.get( 'wgNamespaceNumber' );
        var skin = mw.config.get( 'skin' ); // 'vector' / 'vector-2022' / 'minerva' など

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

        var clientId   = 'ca-pub-8908534172586133';   // ★あなたの client ID
        var bottomSlot = '6591340801';               // ★本文下用スロット
        var sideSlot   = '6591340801';               // ★サイドバー用スロット(別なら変える)

        /* ========= スマホ版(Minerva)のみ:本文下に 1 個だけ ========= */
        if ( skin === 'minerva' ) {

            if ( $( '.keizaiya-ad-bottom' ).length ) {
                return; // 二重挿入防止
            }

            var bottomAdHtml =
                '<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>';

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

            // スマホはサイドバー無しなのでここで終了
            return;
        }

        /* ========= ここから PC 版(vector / vector-2022 等) ========= */

        // ■ 本文下広告(PC)
        if ( $( '.keizaiya-ad-bottom' ).length === 0 ) {
            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>';

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

        // ■ サイドバー広告(PC)
        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>';

            // Vector 旧・新どちらでも拾えそうなセレクタ
            var $sidebar = $( '#mw-panel, .vector-sidebar, .mw-sidebar' );

            if ( $sidebar.length ) {
                $sidebar.first().append( sideAd );
                (adsbygoogle = window.adsbygoogle || []).push({});
            }
        }
    } );
} );


// === 最新版を表示のポップアップを非表示にする ===
mw.hook( 'wikipage.content' ).add( function ( $content ) {
    // このページを見ているユーザーのグループ一覧
    var groups = mw.config.get( 'wgUserGroups' ) || [];

    // 承認作業をする「特権ユーザー」かどうか
    var isPrivileged =
        groups.indexOf( 'sysop' ) !== -1 ||
        groups.indexOf( 'writer' ) !== -1;  // writer も見せたいなら残す。隠したいならこの行を消す。

    if ( !isPrivileged ) {
        // 一般閲覧者には ApprovedRevs の「最新版を閲覧」バーごと消す
        $content.find( '.notLatestMsg' ).remove();
    }
} );