Jump to content

MediaWiki:Common.js: Difference between revisions

From OkayXairen Wiki
No edit summary
m Protected "MediaWiki:Common.js" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
(function () {
(function () {
    // Skip special pages
     if (mw.config.get('wgNamespaceNumber') < 0) return;
     if (mw.config.get('wgNamespaceNumber') < 0) return;


     var title = mw.config.get('wgPageName');
     var title = mw.config.get('wgPageName'); // underscores already


     var cssPage = 'Template:PageCSS/' + title + '.css';
     var cssPage = 'MediaWiki:' + title + '.css';
     var jsPage  = 'Template:PageJS/' + title + '.js';
     var jsPage  = 'MediaWiki:' + title + '.js';


     // Load CSS if present
     // Load page CSS
     mw.loader.load(
     mw.loader.load(
         mw.util.getUrl(cssPage, { action: 'raw', ctype: 'text/css' }),
         mw.util.getUrl(cssPage, { action: 'raw', ctype: 'text/css' }),
Line 14: Line 13:
     );
     );


     // Load JS if present
     // Load page JS
     mw.loader.load(
     mw.loader.load(
         mw.util.getUrl(jsPage, { action: 'raw', ctype: 'text/javascript' }),
         mw.util.getUrl(jsPage, { action: 'raw', ctype: 'text/javascript' }),
Line 20: Line 19:
     );
     );
})();
})();
const footer = document.querySelector('#footer');
if (footer) {
    const observer = new IntersectionObserver(entries => {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
                document.body.classList.add("footer-visible");
            } else {
                document.body.classList.remove("footer-visible");
            }
        });
    });
    observer.observe(footer);
}

Latest revision as of 01:06, 12 March 2026

(function () {
    if (mw.config.get('wgNamespaceNumber') < 0) return;

    var title = mw.config.get('wgPageName'); // underscores already

    var cssPage = 'MediaWiki:' + title + '.css';
    var jsPage  = 'MediaWiki:' + title + '.js';

    // Load page CSS
    mw.loader.load(
        mw.util.getUrl(cssPage, { action: 'raw', ctype: 'text/css' }),
        'text/css'
    );

    // Load page JS
    mw.loader.load(
        mw.util.getUrl(jsPage, { action: 'raw', ctype: 'text/javascript' }),
        'text/javascript'
    );
})();

const footer = document.querySelector('#footer');

if (footer) {
    const observer = new IntersectionObserver(entries => {
        entries.forEach(entry => {
            if (entry.isIntersecting) {
                document.body.classList.add("footer-visible");
            } else {
                document.body.classList.remove("footer-visible");
            }
        });
    });

    observer.observe(footer);
}