MediaWiki:Common.js
注意:在您發布之後,您可能需要清除瀏覽器快取才能看到變更。
- 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();
}
}
});