MediaWiki:Common.js
From Descendants of Darkness Wiki
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.
(function () {
var sidebarId = 'mw-navigation';
function saveSidebarScrollPosition() {
var scrollPosition = document.getElementById(sidebarId).scrollTop;
var currentPage = window.location.href;
sessionStorage.setItem(currentPage, scrollPosition);
}
function restoreSidebarScrollPosition() {
var currentPage = window.location.href;
var scrollPosition = sessionStorage.getItem(currentPage);
if (scrollPosition !== null) {
document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition);
}
}
// Create a MutationObserver to detect changes in the sidebar
var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
saveSidebarScrollPosition();
}
});
});
// Configure the observer to watch for class attribute changes in the sidebar
var observerConfig = {
attributes: true,
attributeFilter: ['class'],
subtree: true
};
// Start observing the sidebar element
var sidebarElement = document.getElementById(sidebarId);
if (sidebarElement) {
observer.observe(sidebarElement, observerConfig);
}
// Restore scroll position when the page is loaded
window.addEventListener('load', restoreSidebarScrollPosition);
})();