MediaWiki:Common.js

提供: 【評価用143】八中・小山台デジタルアーカイブ
2026年2月11日 (水) 18:25時点におけるHGmasahide20 (トーク | 投稿記録)による版 (ページの作成:「ここにあるすべてのJavaScriptは、すべてのページ読み込みですべての利用者に対して読み込まれます: mw.hook('wikipage.content').add(function ($content) { $content.on('click', '.tabJump', function (e) { e.preventDefault(); // 画面位置を保存 var y = window.scrollY; // data-tab="tabber-P2" → タブ見出しは "tabber-P2-label" var panelId = this.getAttribute('data-tab'); if (!panelId) return…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。

  • Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
  • Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
  • Microsoft Edge: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください。
/* ここにあるすべてのJavaScriptは、すべてのページ読み込みですべての利用者に対して読み込まれます */

mw.hook('wikipage.content').add(function ($content) {
  $content.on('click', '.tabJump', function (e) {
    e.preventDefault();

    // 画面位置を保存
    var y = window.scrollY;

    // data-tab="tabber-P2" → タブ見出しは "tabber-P2-label"
    var panelId = this.getAttribute('data-tab');
    if (!panelId) return;

    var tabEl = document.getElementById(panelId + '-label');
    if (!tabEl) return;

    // タブをクリックして切替
    tabEl.click();

    // URLのhashを更新(スクロールさせない)
    if (history && history.replaceState) {
      history.replaceState(null, document.title, '#' + panelId);
    } else {
      // 古いブラウザ向け(hashは変わるがscrollは後で戻す)
      location.hash = panelId;
    }

    // スクロール位置を元に戻す
    window.scrollTo(0, y);
  });
});