Force Spell Check in AI Dungeon

Automatically enables spell check on AI Dungeon input fields

Per 01-05-2025. Zie de nieuwste versie.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name         Force Spell Check in AI Dungeon
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Automatically enables spell check on AI Dungeon input fields
// @author       JerTheDudeBear
// @match        https://play.aidungeon.com/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // Function to enable spell check on text inputs
    function enableSpellCheck() {
        const elements = document.querySelectorAll('textarea, [contenteditable]');
        elements.forEach(el => {
            el.spellcheck = true;
            el.setAttribute('spellcheck', 'true'); // Ensure attribute is set
        });
    }

    // Run immediately on page load
    enableSpellCheck();

    // Use a MutationObserver to catch dynamically loaded input fields
    const observer = new MutationObserver((mutations) => {
        enableSpellCheck();
    });

    // Observe changes to the DOM (e.g., when new input fields appear)
    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

    // Optional: Re-run on focus or click events for extra reliability
    document.addEventListener('focusin', enableSpellCheck);
    document.addEventListener('click', enableSpellCheck);
})();