- Scan ID:
- 601e21cf-0fb4-4cfe-bb97-b167183b5589Finished
- Submitted URL:
- https://whatthe.site/
- Report Finished:
Links · 0 found
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
Name | Type |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
clearPreviousEffect | function |
typeEffect | function |
startSequence | function |
resetSequence | function |
handleEnter | function |
Console log messages · 2 found
Messages logged to the web console
Type | Category | Log |
---|---|---|
verbose | dom |
|
error | network |
|
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>