「MediaWiki:Common.js」:修訂間差異
無編輯摘要 |
無編輯摘要 |
||
| 第1行: | 第1行: | ||
$(function() { | $(function() { | ||
var languagePanel = $('#p-lang'); // 獲取包含語言連結的面板 | |||
if (languagePanel.length) { | |||
var | var languageLinks = languagePanel.find('ul li a'); // 獲取所有語言連結 | ||
if ( | |||
var | 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); | |||
} | } | ||
} | } | ||
}); | }); | ||
於 2025年5月1日 (四) 02:53 的修訂
$(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);
}
}
});