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

Common.js と同期 (body 直下挿入)
Minerva: #mw-mf-viewport 内に footer を append (body 直下だと viewport 外で記事中央に出る問題)
 
81行目: 81行目:
el.innerHTML = html;
el.innerHTML = html;


// 必ず <body> 直下に append する。
// 挿入位置:
// Vector 2022 .mw-page-container 内に置くと sidebar 込みの幅に縛られて grid が崩れるので、
//  - Minerva: <body> 直下が #mw-mf-viewport 1 個だけで全 content を内包している。
// page container の外 = body 末尾 に出して viewport 全幅を取れるようにする。
//   そこに body.appendChild すると viewport の「外」に出てしまい、Minerva
// 結果: Vector では「.mw-page-container の下」、Minerva では「.minerva-footer の下」 = 最終更新の下。
//    レイアウト計算 (transform / position) から外れて記事の途中に見えることがある。
document.body.appendChild( el );
//    → #mw-mf-viewport の「内側末尾」に入れる。
// - Vector / その他: #mw-mf-viewport が無いので body 末尾に入れる
//   (これで .mw-page-container の外、sidebar の影響を受けない viewport 全幅となる)
var mobileViewport = document.getElementById( 'mw-mf-viewport' );
if ( mobileViewport ) {
mobileViewport.appendChild( el );
} else {
document.body.appendChild( el );
}
}
}