MediaWiki:Common.js
MediaWikiインターフェイスページ
その他の操作
注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。
- Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
- Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
- Microsoft Edge: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください。
/* 左メニュー: ハンバーガーの中身(サイドバー)を、広い画面では常に左に表示する */
( function () {
function build() {
var src = document.getElementById( 'citizen-main-menu' );
if ( !src || document.getElementById( 'dl-sidenav' ) ) { return; }
var nav = document.createElement( 'nav' );
nav.id = 'dl-sidenav';
nav.setAttribute( 'aria-label', 'サイトメニュー' );
var here = decodeURIComponent( location.pathname );
src.querySelectorAll( '.mw-portlet' ).forEach( function ( p ) {
var links = p.querySelectorAll( 'li a' );
if ( !links.length ) { return; }
var sec = document.createElement( 'div' );
sec.className = 'dl-sidenav-sec';
var h = p.querySelector( '.citizen-menu__heading, h3' );
if ( h && p.id !== 'p-navigation' ) {
var t = document.createElement( 'div' );
t.className = 'dl-sidenav-h';
t.textContent = h.textContent.trim();
sec.appendChild( t );
}
links.forEach( function ( a ) {
var l = document.createElement( 'a' );
l.href = a.getAttribute( 'href' );
l.textContent = a.textContent.trim();
if ( decodeURIComponent( l.pathname ) === here ) { l.className = 'is-here'; }
sec.appendChild( l );
} );
nav.appendChild( sec );
} );
document.body.appendChild( nav );
document.documentElement.classList.add( 'dl-has-sidenav' );
}
if ( document.readyState === 'loading' ) {
document.addEventListener( 'DOMContentLoaded', build );
} else {
build();
}
}() );