MediaWiki:Common.js

出自Quickpedia wiki
於 2025年5月1日 (四) 02:47 由 Msnhinet8(留言 | 貢獻) 所做的修訂

注意:在您發布之後,您可能需要清除瀏覽器快取才能看到變更。

  • Firefox或Safari:按住Shift時點擊重新整理,或按Ctrl-F5或Ctrl-R(Mac則為⌘-R)
  • Google Chrome:按Ctrl-Shift-R(Mac則為⌘-Shift-R)
  • Internet Explorer或Edge:按住Ctrl時點擊重新整理,或按Ctrl-F5
  • Opera:按Ctrl-F5。
$(function() {
  // 檢查目前用戶的介面語言是否不是中文
  if (mw.config.get('wgUserLanguage') !== 'zh') {
    // 嘗試設定內容語言為中文
    mw.config.set('wgContentLanguage', 'zh');

    // 如果有語言選擇器,嘗試選中中文選項 (與之前的程式碼相同)
    var languageSelector = document.getElementById('p-lang-btn');
    if (languageSelector && languageSelector.getElementsByTagName('ul').length > 0) {
      var languageList = languageSelector.getElementsByTagName('ul')[0].getElementsByTagName('li');
      for (var i = 0; i < languageList.length; i++) {
        var link = languageList[i].getElementsByTagName('a')[0];
        if (link && (link.getAttribute('lang') === 'zh' || link.getAttribute('hreflang') === 'zh')) {
          window.location.href = link.getAttribute('href');
          return;
        }
      }
    } else {
      var currentUrl = window.location.href;
      var url = new URL(currentUrl);
      url.searchParams.set('uselang', 'zh');
      window.location.href = url.toString();
    }
  }

  // 嘗試將使用者偏好設定中的語言更改為 zh-tw (僅在登錄後生效)
  if (mw.config.get('wgUserName')) { // 檢查用戶是否已登錄
    // 檢查當前偏好設定的語言是否不是 zh-tw
    if (mw.config.get('wgUserLanguage') !== 'zh-tw') {
      // 嘗試修改 URL 並重新載入以應用 zh-tw 偏好
      var currentUrl = window.location.href;
      var url = new URL(currentUrl);
      url.searchParams.set('uselang', 'zh-tw');

      // 為了避免無限重定向,我們只在 URL 中沒有 uselang 參數或其值不是 zh-tw 時才重新載入
      if (!url.searchParams.has('uselang') || url.searchParams.get('uselang') !== 'zh-tw') {
        window.location.href = url.toString();
      }
    }
  }
});