MediaWiki:Common.js
Appearance
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */
$(document).ready(function() {
/* Force main menu to be pinned on desktop */
if (window.innerWidth >= 1024) {
var pinnedContainer = document.getElementById('vector-main-menu-pinned-container');
var unpinnedContainer = document.getElementById('vector-main-menu-unpinned-container');
var mainMenu = document.getElementById('vector-main-menu');
if (unpinnedContainer && mainMenu) {
if (pinnedContainer && !pinnedContainer.contains(mainMenu)) {
pinnedContainer.appendChild(mainMenu);
}
}
var pinButton = document.querySelector('.vector-pinnable-header-pin-button');
if (pinButton) {
pinButton.click();
}
}
/* Google Translate Widget */
var translateHtml =
'<div class="mw-portlet vector-menu" id="p-translate">' +
'<div class="vector-menu-heading">Translate</div>' +
'<div class="vector-menu-content">' +
'<div id="google_translate_element"></div>' +
'</div>' +
'</div>';
// Try multiple selectors to find Main Menu portlet
var mainMenuPortlet = document.querySelector('#p-Main_Menu') ||
document.querySelector('.mw-portlet-Main_Menu') ||
document.querySelector('[id*="Main_Menu"]') ||
document.querySelector('[id*="main-menu"]');
if (mainMenuPortlet) {
mainMenuPortlet.insertAdjacentHTML('afterend', translateHtml);
} else {
// Fallback - append to sidebar
var sidebar = document.querySelector('#mw-panel, .vector-sidebar');
if (sidebar) {
sidebar.insertAdjacentHTML('beforeend', translateHtml);
}
}
/* Load Google Translate script */
var script = document.createElement('script');
script.src = '//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
document.body.appendChild(script);
}); /* end document.ready */
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en',
layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
autoDisplay: false
}, 'google_translate_element');
}