MediaWiki:Citizen.js
MediaWiki interface page
More actions
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.
document.addEventListener('DOMContentLoaded', function () {
console.log("DOMContentLoaded fired");
// Search trigger (your original)
const searchTrigger = document.getElementById('skin-citizen-search-trigger');
if (searchTrigger) {
console.log("Search trigger found");
searchTrigger.addEventListener('click', function () {
console.log("Search trigger clicked");
const toggle = document.querySelector('.citizen-header__search-toggle');
if (toggle) toggle.click();
else mw.loader.using('skins.citizen.search');
});
} else {
console.log("Search trigger NOT found");
}
// Wiki update trigger – delegation + logging
document.addEventListener('click', function (event) {
const trigger = event.target.closest('#skin-citizen-wikupdatepage-trigger');
if (trigger) {
window.location.href = mw.util.getUrl('Main_Page/WikiUpdate');
event.preventDefault();
}
});
// One-time check: is the element already in DOM?
const updateTrigger = document.getElementById('skin-citizen-wikupdatepage-trigger');
if (updateTrigger) {
} else {
}
});
// Fallback: MutationObserver if element added very late
const observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.addedNodes.length) {
const trigger = document.getElementById('skin-citizen-wikupdatepage-trigger');
if (trigger && !trigger.dataset.listenerAdded) {
console.log("Update trigger detected late via MutationObserver");
trigger.dataset.listenerAdded = 'true'; // prevent duplicate
trigger.addEventListener('click', function () {
window.location.href = mw.util.getUrl('Main_Page/WikiUpdate');
});
}
}
});
});
observer.observe(document.body, { childList: true, subtree: true });