Logo Pastebin.fr
Pastebin

Retrouvez, créez et partagez vos snippets en temps réel.

lol

(async () => {
    const targetText = document.getElementById('type_text').value;
    const inputArea = document.getElementById('type');
    
    // On vide le champ et on lui donne le focus
    inputArea.value = "";
    inputArea.focus();

    // 160ms = environ 75 WPM (Words Per Minute)
    const delay = 160; 

    console.log("Démarrage du script à 75 WPM...");

    for (let i = 0; i < targetText.length; i++) {
        let char = targetText[i];
        
        // Gestion du retour chariot spécial du site
        let isEnter = (char === '¶');
        let key = isEnter ? 'Enter' : char;
        let keyCode = isEnter ? 13 : char.charCodeAt(0);

        const eventOptions = {
            key: key,
            keyCode: keyCode,
            which: keyCode,
            bubbles: true,
            cancelable: true
        };

        // Envoi des événements clavier
        inputArea.dispatchEvent(new KeyboardEvent('keydown', eventOptions));
        inputArea.dispatchEvent(new KeyboardEvent('keypress', eventOptions));

        // Note : Si les lettres ne s'affichent plus du tout, 
        // décommentez la ligne suivante (enlevez les //) :
        // inputArea.value += (isEnter ? '\n' : char);

        inputArea.dispatchEvent(new KeyboardEvent('keyup', eventOptions));
        
        // Signal de modification pour les stats du site
        inputArea.dispatchEvent(new Event('input', { bubbles: true }));

        // Attente pour respecter le rythme de 75 WPM
        await new Promise(resolve => setTimeout(resolve, delay));
    }

    console.log("Terminé ! Score visé : 75 WPM.");
})();

Créé il y a 3 semaines.

Rechercher un Pastebin

Aucun paste trouvé.