MediaWiki:Common.js

出自Quickpedia wiki
於 2025年5月1日 (四) 03:12 由 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() {
  var languagePanel = $('#p-lang'); // 獲取包含語言連結的面板

  if (languagePanel.length) {
    var languageLinks = languagePanel.find('ul li a'); // 獲取所有語言連結

    if (languageLinks.length > 1) { // 只有在有多種語言連結時才創建選單
      var currentLang = mw.config.get('wgContentLanguage'); // 獲取當前內容語言
      var currentLangName = '';
      var langOptions = '';

      // 創建下拉選單的 HTML
      var languageDropdown = $('<div id="language-dropdown"></div>').append('<label for="lang-select">語言:</label><select id="lang-select"></select>');
      var langSelect = languageDropdown.find('#lang-select');

      // 遍歷語言連結,創建下拉選項
      languageLinks.each(function() {
        var langCode = $(this).attr('lang') || $(this).attr('hreflang');
        var langName = $(this).text();
        var option = $('<option>').val($(this).attr('href')).text(langName);

        if (langCode === currentLang) {
          option.prop('selected', true);
          currentLangName = langName;
        }

        langSelect.append(option);
      });

      // 將當前語言顯示在選單標題中 (可選)
      languageDropdown.prepend('<span>' + currentLangName + '</span>');
      languageDropdown.addClass('language-selector'); // 添加一個 CSS 類

      // 監聽選單的 change 事件,跳轉到選定的語言頁面
      langSelect.on('change', function() {
        window.location.href = $(this).val();
      });

      // 移除原來的語言連結並將下拉選單添加到側邊欄
      languagePanel.empty().append(languageDropdown);

      // 你可能需要調整這個選擇器,以將下拉選單移動到更合適的位置
      // 例如,將其添加到側邊欄的頂部
      $('#mw-panel').prepend(languageDropdown);
    }
  }
});
$(function() {
  var languagePanel = $('#p-lang'); // 假設側邊欄有語言連結

  if (languagePanel.length) {
    var languageLinks = languagePanel.find('ul li a');

    if (languageLinks.length > 1) {
      var languageDropdown = $('<div id="top-language-dropdown"></div>').append('<label for="top-lang-select">語言:</label><select id="top-lang-select"></select>');
      var langSelect = languageDropdown.find('#top-lang-select');

      languageLinks.each(function() {
        var langCode = $(this).attr('lang') || $(this).attr('hreflang');
        var langName = $(this).text();
        var option = $('<option>').val($(this).attr('href')).text(langName);
        langSelect.append(option);
      });

      langSelect.on('change', function() {
        window.location.href = $(this).val();
      });

      // 將下拉選單添加到頁面的最上方 (您可能需要調整 CSS 定位)
      $('body').prepend(languageDropdown);

      // 移除原來的側邊欄語言連結 (可選)
      // languagePanel.remove();
    }
  }
});