デスクトップ表示時だけ、フッターに「モバイル表示」リンクを追加
 
編集の要約なし
1行目: 1行目:
/* ここにあるすべてのJavaScriptは、すべてのページ読み込みですべての利用者に対して読み込まれます */
/* ここにあるすべてのJavaScriptは、すべてのページ読み込みですべての利用者に対して読み込まれます */


// デスクトップ表示時だけ、フッターに「モバイル表示」リンクを追加
/* Add "モバイル表示" toggle link on desktop skins without touching existing links */
mw.loader.using(['mediawiki.util'], function () {
mw.loader.using('mediawiki.util').then(function () {
   $(function () {
   // Minerva(モバイル)では出さない
    if (mw.config.get('skin') === 'minerva') return; // モバイル(Minerva)は何もしない
  if (mw.config.get('skin') === 'minerva') return;
    var page = mw.config.get('wgPageName');
    var url  = mw.util.getUrl(page, { mobileaction: 'toggle_view_mobile' });


    // footer-places があればそこに、なければ個人ツールへ
  var page = mw.config.get('wgPageName');
    var $places = $('#footer-places');
  if (!page) return;
    if ($places.length) {
 
      $('<li>').append(
  var url = mw.util.getUrl(page, { mobileaction: 'toggle_view_mobile' });
        $('<a>', { href: url, text: 'モバイル表示' }).addClass('toggle-mobile-link')
 
      ).appendTo($places);
  // 追加済みなら何もしない(多重追加を防止)
     } else {
  if (document.getElementById('mw-toggle-mobile-view')) return;
      mw.util.addPortletLink('p-personal', url, 'モバイル表示', 'pt-mobile-toggle');
 
    }
  // 1) フッター “footer-places” があればそこに li を追加
   });
  var places = document.getElementById('footer-places');
  if (places && places.tagName === 'UL') {
    var li = document.createElement('li');
    var a  = document.createElement('a');
    a.id = 'mw-toggle-mobile-view';
    a.href = url;
    a.textContent = 'モバイル表示';
    li.appendChild(a);
    places.appendChild(li);
    return;
  }
 
  // 2) だめなら “ツール(p-tb)” に追加
  if (document.getElementById('p-tb')) {
    mw.util.addPortletLink('p-tb', url, 'モバイル表示', 'mw-toggle-mobile-view');
    return;
  }
 
  // 3) 最後の手段として“個人メニュー(p-personal)”に追加
  if (document.getElementById('p-personal')) {
     mw.util.addPortletLink('p-personal', url, 'モバイル表示', 'mw-toggle-mobile-view');
   }
});
});

2025年11月13日 (木) 03:08時点における版

/* ここにあるすべてのJavaScriptは、すべてのページ読み込みですべての利用者に対して読み込まれます */

/* Add "モバイル表示" toggle link on desktop skins without touching existing links */
mw.loader.using('mediawiki.util').then(function () {
  // Minerva(モバイル)では出さない
  if (mw.config.get('skin') === 'minerva') return;

  var page = mw.config.get('wgPageName');
  if (!page) return;

  var url = mw.util.getUrl(page, { mobileaction: 'toggle_view_mobile' });

  // 追加済みなら何もしない(多重追加を防止)
  if (document.getElementById('mw-toggle-mobile-view')) return;

  // 1) フッター “footer-places” があればそこに li を追加
  var places = document.getElementById('footer-places');
  if (places && places.tagName === 'UL') {
    var li = document.createElement('li');
    var a  = document.createElement('a');
    a.id = 'mw-toggle-mobile-view';
    a.href = url;
    a.textContent = 'モバイル表示';
    li.appendChild(a);
    places.appendChild(li);
    return;
  }

  // 2) だめなら “ツール(p-tb)” に追加
  if (document.getElementById('p-tb')) {
    mw.util.addPortletLink('p-tb', url, 'モバイル表示', 'mw-toggle-mobile-view');
    return;
  }

  // 3) 最後の手段として“個人メニュー(p-personal)”に追加
  if (document.getElementById('p-personal')) {
    mw.util.addPortletLink('p-personal', url, 'モバイル表示', 'mw-toggle-mobile-view');
  }
});