WaniKani - Script loading fix

Automatically reload page when WaniKani updates it to force reloading of scripts.

Ajankohdalta 23.8.2024. Katso uusin versio.

// ==UserScript==
// @name         WaniKani - Script loading fix
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Automatically reload page when WaniKani updates it to force reloading of scripts.
// @author       Angelodmage
// @match        https://www.wanikani.com
// @match        https://www.wanikani.com/*
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    let url = new URL(window.location.href);
    if (url.searchParams.has('forceReload'))
    {
        url.searchParams.delete ('forceReload');
        window.location.href = url.toString();
    }

    let observer = new MutationObserver(run);
    observer.observe (document.body, {
        subtree: false,
        childList: true,
    });

    function run(mutations)
    {
        for (let mutation of mutations)
        {
            for (let node of mutation.removedNodes)
            {
                if (node.id == 'turbo-body')
                {
                    let url = new URL(window.location.href);
                    url.searchParams.set ('forceReload', Date.now().toString());
                    window.location.href = url.toString();
                    return;
                }
            }
        }
    }
})();