MediaWiki:Common.js: Difference between revisions

From BetaMC Wiki
Jump to navigation Jump to search
No edit summary
Actually works, lets go!
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:


// needs to be loaded from separate JS files, because the shitty outdated JS-parser in mediawiki refuses any modern syntax lol
// needs to be loaded from separate JS files, because the shitty outdated JS-parser in mediawiki refuses any modern syntax lol
 
var args = { action: 'raw', ctype: 'text/javascript' };
(async function () {
function script(name) {
     function loadScript(page) {
     return function() {
         return new Promise(function (resolve, reject) {
         return mw.loader.getScript(
            var script = document.createElement('script');
             mw.util.getUrl('MediaWiki:' + name + '.js', {
 
             script.src = mw.util.getUrl(page, {
                 action: 'raw',
                 action: 'raw',
                 ctype: 'text/javascript'
                 ctype: 'text/javascript'
             });
             })
 
        );
            script.onload = resolve;
    };
            script.onerror = reject;
}
 
            document.head.appendChild(script);
        });
    }


     await loadScript('MediaWiki:StatsClient.js');
Promise.resolve()
     await loadScript('MediaWiki:ClamComponent.js');
     .then(script('StatsClient'))
})();
     .then(script('ClamComponent'))
;

Latest revision as of 11:28, 8 October 2026

/* Any JavaScript here will be loaded for all users on every page load. */

// needs to be loaded from separate JS files, because the shitty outdated JS-parser in mediawiki refuses any modern syntax lol
var args = { action: 'raw', ctype: 'text/javascript' };
function script(name) {
    return function() {
        return mw.loader.getScript(
            mw.util.getUrl('MediaWiki:' + name + '.js', {
                action: 'raw',
                ctype: 'text/javascript'
            })
        );
    };
}

Promise.resolve()
    .then(script('StatsClient'))
    .then(script('ClamComponent'))
;