MediaWiki:Common.js: Difference between revisions
Appearance
Cdjensen94 (talk | contribs) Replaced content with "→Any JavaScript here will be loaded for all users on every page load.: " Tag: Replaced |
Cdjensen94 (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
(function() { | |||
function cleanSlideshowStyles(slideshowContainer) { | |||
const slideshow = slideshowContainer.querySelector('.slideshow'); | |||
if (slideshow) { | |||
// Remove inline styles on the main slideshow container | |||
slideshow.style.width = ''; | |||
slideshow.style.height = ''; | |||
// Remove inline styles on each slide div | |||
slideshow.querySelectorAll('div').forEach(slide => { | |||
slide.style.width = ''; | |||
slide.style.height = ''; | |||
}); | |||
} | |||
} | |||
function initSlideshowFix() { | |||
// Locate all mw-jsslideshow instances | |||
document.querySelectorAll('.mw-jsslideshow').forEach(mwSlideshow => { | |||
// Clean styles on page load | |||
cleanSlideshowStyles(mwSlideshow); | |||
// Optional: Re-clean styles on window resize | |||
window.addEventListener('resize', () => { | |||
cleanSlideshowStyles(mwSlideshow); | |||
}); | |||
// Hook into slide transitions if needed (depends on the specific JS driving the slideshow) | |||
const slideshow = mwSlideshow.querySelector('.slideshow'); | |||
if (slideshow) { | |||
const observer = new MutationObserver(() => { | |||
cleanSlideshowStyles(mwSlideshow); | |||
}); | |||
observer.observe(slideshow, { | |||
attributes: true, | |||
attributeFilter: ['style'], | |||
childList: false, | |||
subtree: false | |||
}); | |||
} | |||
}); | |||
} | |||
// Run once DOM is ready (in case the slideshows are injected late) | |||
if (document.readyState === 'complete' || document.readyState === 'interactive') { | |||
initSlideshowFix(); | |||
} else { | |||
document.addEventListener('DOMContentLoaded', initSlideshowFix); | |||
} | |||
})(); | |||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
(function() { | |||
function cleanSlideshowStyles(slideshowContainer) { | |||
const slideshow = slideshowContainer.querySelector('.slideshow'); | |||
if (slideshow) { | |||
// Remove inline styles on the main slideshow container | |||
slideshow.style.width = ''; | |||
slideshow.style.height = ''; | |||
// Remove inline styles on each slide div | |||
slideshow.querySelectorAll('div').forEach(slide => { | |||
slide.style.width = ''; | |||
slide.style.height = ''; | |||
}); | |||
} | |||
} | |||
function initSlideshowFix() { | |||
// Locate all mw-jsslideshow instances | |||
document.querySelectorAll('.mw-jsslideshow').forEach(mwSlideshow => { | |||
// Clean styles on page load | |||
cleanSlideshowStyles(mwSlideshow); | |||
// Optional: Re-clean styles on window resize | |||
window.addEventListener('resize', () => { | |||
cleanSlideshowStyles(mwSlideshow); | |||
}); | |||
// Hook into slide transitions if needed (depends on the specific JS driving the slideshow) | |||
const slideshow = mwSlideshow.querySelector('.slideshow'); | |||
if (slideshow) { | |||
const observer = new MutationObserver(() => { | |||
cleanSlideshowStyles(mwSlideshow); | |||
}); | |||
observer.observe(slideshow, { | |||
attributes: true, | |||
attributeFilter: ['style'], | |||
childList: false, | |||
subtree: false | |||
}); | |||
} | |||
}); | |||
} | |||
// Run once DOM is ready (in case the slideshows are injected late) | |||
if (document.readyState === 'complete' || document.readyState === 'interactive') { | |||
initSlideshowFix(); | |||
} else { | |||
document.addEventListener('DOMContentLoaded', initSlideshowFix); | |||
} | |||
})(); |
Revision as of 12:48, 3 March 2025
(function() {
function cleanSlideshowStyles(slideshowContainer) {
const slideshow = slideshowContainer.querySelector('.slideshow');
if (slideshow) {
// Remove inline styles on the main slideshow container
slideshow.style.width = '';
slideshow.style.height = '';
// Remove inline styles on each slide div
slideshow.querySelectorAll('div').forEach(slide => {
slide.style.width = '';
slide.style.height = '';
});
}
}
function initSlideshowFix() {
// Locate all mw-jsslideshow instances
document.querySelectorAll('.mw-jsslideshow').forEach(mwSlideshow => {
// Clean styles on page load
cleanSlideshowStyles(mwSlideshow);
// Optional: Re-clean styles on window resize
window.addEventListener('resize', () => {
cleanSlideshowStyles(mwSlideshow);
});
// Hook into slide transitions if needed (depends on the specific JS driving the slideshow)
const slideshow = mwSlideshow.querySelector('.slideshow');
if (slideshow) {
const observer = new MutationObserver(() => {
cleanSlideshowStyles(mwSlideshow);
});
observer.observe(slideshow, {
attributes: true,
attributeFilter: ['style'],
childList: false,
subtree: false
});
}
});
}
// Run once DOM is ready (in case the slideshows are injected late)
if (document.readyState === 'complete' || document.readyState === 'interactive') {
initSlideshowFix();
} else {
document.addEventListener('DOMContentLoaded', initSlideshowFix);
}
})();
/* Any JavaScript here will be loaded for all users on every page load. */
(function() {
function cleanSlideshowStyles(slideshowContainer) {
const slideshow = slideshowContainer.querySelector('.slideshow');
if (slideshow) {
// Remove inline styles on the main slideshow container
slideshow.style.width = '';
slideshow.style.height = '';
// Remove inline styles on each slide div
slideshow.querySelectorAll('div').forEach(slide => {
slide.style.width = '';
slide.style.height = '';
});
}
}
function initSlideshowFix() {
// Locate all mw-jsslideshow instances
document.querySelectorAll('.mw-jsslideshow').forEach(mwSlideshow => {
// Clean styles on page load
cleanSlideshowStyles(mwSlideshow);
// Optional: Re-clean styles on window resize
window.addEventListener('resize', () => {
cleanSlideshowStyles(mwSlideshow);
});
// Hook into slide transitions if needed (depends on the specific JS driving the slideshow)
const slideshow = mwSlideshow.querySelector('.slideshow');
if (slideshow) {
const observer = new MutationObserver(() => {
cleanSlideshowStyles(mwSlideshow);
});
observer.observe(slideshow, {
attributes: true,
attributeFilter: ['style'],
childList: false,
subtree: false
});
}
});
}
// Run once DOM is ready (in case the slideshows are injected late)
if (document.readyState === 'complete' || document.readyState === 'interactive') {
initSlideshowFix();
} else {
document.addEventListener('DOMContentLoaded', initSlideshowFix);
}
})();