https://whatthe.site/

Submitted URL:
https://whatthe.site/
Report Finished:

The outgoing links identified from the page

JavaScript Variables · 8 found

Global JavaScript variables loaded on the window object of a page, are variables declared outside of functions and accessible from anywhere in the code within the current scope

NameType
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
clearPreviousEffectfunction
typeEffectfunction
startSequencefunction
resetSequencefunction
handleEnterfunction

Console log messages · 2 found

Messages logged to the web console

TypeCategoryLog
verbosedom
URL
https://whatthe.site/
Text
[DOM] Password field is not contained in a form: (More info: https://goo.gl/9p2vKq) %o
errornetwork
URL
https://whatthe.site/favicon.ico
Text
Failed to load resource: the server responded with a status of 404 (Not Found)

HTML

The raw HTML body of the page

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>What the</title>
    <style>
        body {
            background-color: #1a1a1a;
            color: white;
            font-family: monospace;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;
        }
        .message {
            font-size: 24px;
            white-space: nowrap;
            overflow: hidden;
        }
        input[type="password"] {
            background-color: #2a2a2a;
            border: none;
            color: white;
            font-size: 24px;
            padding: 10px;
            margin-top: 20px;
            display: block;
            opacity: 0;
            transition: opacity 0.5s ease;
        }
        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); }
            20%, 40%, 60%, 80% { transform: translateX(10px); }
        }
        .shake {
            animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
        }
    </style>
</head>
<body>

<div id="message1" class="message">What th</div>
<div id="message2" class="message"></div>
<input type="password" id="passwordInput" placeholder="Password..." style="opacity: 0;">

<script>
    const message1 = document.getElementById('message1');
    const message2 = document.getElementById('message2');
    const passwordInput = document.getElementById('passwordInput');
    let enterAccepted = true;

    function clearPreviousEffect() {
        message1.innerHTML = '';
        message2.innerHTML = '';
        passwordInput.value = '';
        passwordInput.style.opacity = 0;
    }

    function typeEffect(element, text, callback) {
        let index = 0;
        element.innerHTML = '';

        function type() {
            if (index < text.length) {
                element.innerHTML += text.charAt(index);
                index++;
                setTimeout(type, 110);
            } else if (callback) {
                callback();
            }
        }

        type();
    }

    function startSequence() {
        clearPreviousEffect(); 
        enterAccepted = true;
        typeEffect(message1, "What the", () => {
            typeEffect(message2, "Please enter the password...", () => {
                passwordInput.style.opacity = 1;
                passwordInput.focus();
            });
        });
    }

    function resetSequence() {
        clearPreviousEffect();
        setTimeout(startSequence, 500);
    }

    function handleEnter(e) {
        if (e.key === "Enter" && enterAccepted) {
            enterAccepted = false; 
            passwordInput.classList.add('shake');
            setTimeout(() => {
                passwordInput.classList.remove('shake');
                typeEffect(message1, "Incorrect password...", () => {
                    setTimeout(resetSequence, 1500); 
                });
            }, 820); 
        }
    }

    passwordInput.addEventListener('input', () => {
        passwordInput.addEventListener('keydown', handleEnter);
    });

    window.onload = startSequence;
</script>




</body></html>