MediaWiki:Common.js
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. */ /* Finds elements by a selector and executes a function for each element */ function findAndExecute(selector, callback) { const elements = document.querySelectorAll(selector); elements.forEach((element) => { try { callback(element); } catch (e) { console.error(`Error while initializing "${selector}"`, e); } }); } /* tabindex="-1" is not allowed by MediaWiki, this is a workaround */ findAndExecute(".rgwiki-main-negative-tabindex", (element) => { element.tabIndex = -1; }); /* Links without href/links to "javascript:void(0)" are not allowed by MediaWiki, this is a workaround */ /* Use Template:EmptyLink to activate this piece of code. */ findAndExecute(".rgwiki-main-emptylink", (span) => { const a = span.querySelector("a"); for (const className of span.classList) { if (className !== "rgwiki-main-emptylink") { a.classList.add(className); } } a.href = "javascript:void(0)"; const parent = span.parentNode; parent.replaceChild(a, span); }); /* Localized date */ findAndExecute(".rgwiki-main-date-localized", (span) => { const inputDateString = span.dataset.datetime !== undefined ? span.dataset.datetime : span.textContent; const date = new Date(inputDateString); const outputDateString = date.toString(); span.title = `This date in your timezone: ${outputDateString}`; });