「MediaWiki:Common.js」の版間の差分
Miliastra admin (トーク | 投稿記録) タグ: 置換 |
Miliastra admin (トーク | 投稿記録) 編集の要約なし タグ: 差し戻し済み |
||
| 1行目: | 1行目: | ||
/* ここにあるすべてのJavaScriptは、すべてのページ読み込みですべての利用者に対して読み込まれます */ | /* ここにあるすべてのJavaScriptは、すべてのページ読み込みですべての利用者に対して読み込まれます */ | ||
/* デスクトップ(=MinervaのPC表示)で「モバイル表示」リンクをフッターに追加 */ | |||
mw.loader.using('mediawiki.util').then(function () { | |||
// MobileFrontendがモバイル用の「デスクトップ」リンクを自前で出してる場合は何もしない | |||
if ( document.querySelector('a[data-event-name="desktopView"]') ) return; | |||
// 現在ページをモバイル表示に切り替えるURL | |||
var mobileURL = mw.util.getUrl( mw.config.get('wgPageName'), { mobileaction: 'toggle_view_mobile' } ); | |||
// 既存のフッター(Minerva/Vector兼用で探す) | |||
var $ul = | |||
$('#footer-places').first(); // Vector 等 | |||
if (!$ul.length) $ul = $('.minerva-footer ul').first(); // Minerva | |||
// UL が無ければ作る | |||
if (!$ul.length) { | |||
var $footer = $('#footer, .minerva-footer .post-content').first(); | |||
if ($footer.length) { | |||
$ul = $('<ul id="footer-places" class="plainlinks"></ul>').appendTo($footer); | |||
} | |||
} | |||
if (!$ul.length) return; // 置く場所が無いケースは諦める | |||
// 既に同リンクがあるなら重複させない | |||
if ($ul.find('a[href*="mobileaction=toggle_view_mobile"]').length) return; | |||
// 追加 | |||
$('<li class="mf-toggle"><a></a></li>') | |||
.find('a').attr('href', mobileURL).text('モバイル表示').end() | |||
.appendTo($ul); | |||
}); | |||