Toggle menu
20
62
5
836
Irontide Fantasy Roleplay
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Common.js: Difference between revisions

MediaWiki interface page
No edit summary
No edit summary
Line 8: Line 8:
document.getElementsByTagName('head')[0].appendChild(link);
document.getElementsByTagName('head')[0].appendChild(link);


/* MediaWiki:Common.js */
/* Clickable Div Class Injector */
mw.loader.using(['jquery', 'mediawiki.util'], function () {
mw.loader.using(['jquery', 'mediawiki.util'], function () {
     $(function () {
     $(function () {

Revision as of 10:44, 28 November 2025

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

// Add favicon
var link = document.createElement('link');
link.rel = 'icon';
link.type = 'image/x-icon';
link.href = '/images/favicon.png';
document.getElementsByTagName('head')[0].appendChild(link);

/* Clickable Div Class Injector */
mw.loader.using(['jquery', 'mediawiki.util'], function () {
    $(function () {
        // Click handler (delegated)
        $(document).on('click', '.clickbox', function (e) {
            var $el = $(this);
            var target = $el.data('target');

            if (!target) return; // nothing to do

            // If target is a plain wiki page name (no leading / and no protocol),
            // convert to a proper URL using mw.util.getUrl
            if (!/^(https?:)?\/\//.test(target) && target.indexOf('/') !== 0) {
                target = mw.util.getUrl(String(target));
            }

            // Navigate
            window.location.href = target;
        });

        // Keyboard accessibility: Enter or Space triggers click
        $(document).on('keydown', '.clickbox', function (e) {
            if (e.key === 'Enter' || e.key === ' ') {
                e.preventDefault();
                $(this).trigger('click');
            }
        });
    });
});