- 제출된 URL:
- https://www.webreview.ai/
- 보고서 완료:
링크 · 0개 결과
페이지에서 식별된 외부 링크
JavaScript 변수 · 11개 결과
페이지의 창 개체에 로드된 전역 JavaScript 변수는 함수 외부에서 선언된 변수로, 현재 범위 내에서 코드의 어느 부분에서나 액세스할 수 있습니다
이름 | 유형 |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
$ | undefined |
jQuery | undefined |
mc | object |
$mcj | function |
fnames | object |
ftypes | object |
alternateFade | function |
콘솔 로그 메시지 · 0개 결과
웹 콘솔에 기록된 메시지
HTML
페이지의 원시 HTML 본문
<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- SEO Meta Tags -->
<meta name="description" content="WebReview AI - AI powered web reviews.">
<meta name="keywords" content="ai, feedback, web design, mobile design, evaluation, mobile app, website review, website evaluation, website feedback, mobile feedback, design feedback">
<meta name="author" content="WebReview AI">
<!-- Open Graph Meta Tags -->
<meta property="og:title" content="WebReview AI">
<meta property="og:description" content="Our AI bot reviews your projects and suggests what to fix. Trained on our 25+ years of industry experience, you get feedback in 30 seconds!
">
<meta property="og:image" content="https://www.webreview.ai/images/hero.png">
<meta property="og:url" content="https://www.webreview.ai">
<meta property="og:type" content="website">
<!-- Twitter Card Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="WebReview AI">
<meta name="twitter:description" content="Our AI bot reviews your projects and suggests what to fix. Trained on our 25+ years of industry experience, you get feedback in 30 seconds!
">
<meta name="twitter:image" content="https://www.webreview.ai/images/hero.png">
<title>WebReview AI</title>
<link rel="stylesheet" href="style.css">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<style type="text/css">#mc_embed_signup input.mce_inline_error { border-color:#6B0505; } #mc_embed_signup div.mce_inline_error { margin: 0 0 1em 0; padding: 5px 10px; background-color:#6B0505; font-weight: bold; z-index: 1; color:#fff; }</style></head>
<body style="zoom: 1;">
<section class="mainContainer">
<main>
<nav id="nav">
<div class="navContent">
<div class="logo">
<a href="index.html">
<h4>
<img src="images/[email protected]" alt="star">
</h4>
</a>
</div>
</div>
</nav>
<section class="standardSection firstSection">
<div class="web" style="display: block;">
<img class="laptop" alt="laptop" src="images/[email protected]">
<img class="com1 alternate1 fade-in" alt="com1" src="images/[email protected]">
<img class="com2 alternate2 fade-out" alt="com2" src="images/[email protected]">
</div>
<div class="mobile" style="display: none">
<img class="phone" alt="laptop" src="images/[email protected]">
<img class="com3 alternate1 fade-in" alt="com1" src="images/[email protected]">
<img class="com4 alternate2 fade-out" alt="com2" src="images/[email protected]">
</div>
<div class="website" style="display: none">
<img class="third" alt="laptop" src="images/[email protected]">
</div>
<div style="position: relative">
<div class="starContainer">
<svg width="76" height="14" viewBox="0 0 76 14" xmlns="http://www.w3.org/2000/svg">
<g fill="#FFC313" fill-rule="nonzero">
<path d="m9.516 4.125 3.156.61c.323.052.536.218.64.5.084.26.01.52-.218.78l-2.188 2.329a.715.715 0 0 0-.156.297.694.694 0 0 0-.047.312l.39 3.188c.032.27-.025.49-.171.656-.23.25-.537.297-.922.14l-2.89-1.359a.737.737 0 0 0-.329-.062c-.125 0-.229.02-.312.062l-2.922 1.36a.832.832 0 0 1-.375.093.67.67 0 0 1-.531-.234c-.146-.167-.209-.385-.188-.656l.406-3.188a.51.51 0 0 0-.046-.312 1.13 1.13 0 0 0-.141-.297L.469 6.016c-.23-.25-.297-.51-.203-.782.073-.28.28-.447.625-.5l3.14-.609a.665.665 0 0 0 .305-.133.595.595 0 0 0 .21-.226l1.517-2.72c.177-.343.416-.515.718-.515.198 0 .375.078.532.235.093.104.166.208.218.312L9 3.766c.052.073.133.148.242.226.11.078.2.123.274.133zM25.179 4.125l3.156.61c.323.052.536.218.64.5.084.26.011.52-.218.78l-2.188 2.329a.715.715 0 0 0-.156.297.694.694 0 0 0-.047.312l.39 3.188c.032.27-.025.49-.171.656-.23.25-.536.297-.922.14l-2.89-1.359a.737.737 0 0 0-.329-.062c-.125 0-.229.02-.312.062l-2.922 1.36a.832.832 0 0 1-.375.093.67.67 0 0 1-.531-.234c-.146-.167-.209-.385-.188-.656l.407-3.188a.51.51 0 0 0-.047-.312 1.13 1.13 0 0 0-.141-.297l-2.203-2.328c-.23-.25-.297-.51-.203-.782.073-.28.281-.447.625-.5l3.14-.609A.665.665 0 0 0 20 3.992a.595.595 0 0 0 .211-.226l1.516-2.72c.177-.343.416-.515.718-.515.198 0 .375.078.532.235.093.104.166.208.218.312l1.47 2.688c.051.073.132.148.241.226.11.078.2.123.274.133zM40.842 4.125l3.156.61c.323.052.537.218.64.5.084.26.011.52-.218.78l-2.187 2.329a.715.715 0 0 0-.157.297.694.694 0 0 0-.047.312l.391 3.188c.031.27-.026.49-.172.656-.229.25-.536.297-.922.14l-2.89-1.359a.737.737 0 0 0-.328-.062c-.125 0-.23.02-.313.062l-2.922 1.36a.832.832 0 0 1-.375.093.67.67 0 0 1-.531-.234c-.146-.167-.208-.385-.188-.656l.407-3.188a.51.51 0 0 0-.047-.312 1.13 1.13 0 0 0-.14-.297l-2.204-2.328c-.23-.25-.297-.51-.203-.782.073-.28.281-.447.625-.5l3.14-.609a.665.665 0 0 0 .305-.133.595.595 0 0 0 .211-.226l1.516-2.72c.177-.343.416-.515.719-.515.197 0 .375.078.53.235.095.104.167.208.22.312l1.468 2.688c.052.073.133.148.243.226.109.078.2.123.273.133zM56.505 4.125l3.156.61c.323.052.537.218.641.5.083.26.01.52-.219.78l-2.187 2.329a.715.715 0 0 0-.157.297.694.694 0 0 0-.046.312l.39 3.188c.031.27-.026.49-.172.656-.229.25-.536.297-.922.14l-2.89-1.359a.737.737 0 0 0-.328-.062c-.125 0-.23.02-.313.062l-2.922 1.36a.832.832 0 0 1-.375.093.67.67 0 0 1-.53-.234c-.147-.167-.21-.385-.188-.656l.406-3.188a.51.51 0 0 0-.047-.312 1.13 1.13 0 0 0-.14-.297l-2.204-2.328c-.229-.25-.297-.51-.203-.782.073-.28.281-.447.625-.5l3.14-.609a.665.665 0 0 0 .305-.133.595.595 0 0 0 .211-.226l1.516-2.72c.177-.343.417-.515.719-.515.198 0 .375.078.531.235.094.104.167.208.219.312l1.468 2.688c.053.073.133.148.243.226.109.078.2.123.273.133zM72.168 4.125l3.157.61c.322.052.536.218.64.5.083.26.01.52-.219.78L73.56 8.345a.715.715 0 0 0-.156.297.694.694 0 0 0-.047.312l.39 3.188c.032.27-.026.49-.171.656-.23.25-.537.297-.922.14l-2.891-1.359a.737.737 0 0 0-.328-.062c-.125 0-.23.02-.313.062l-2.921 1.36a.832.832 0 0 1-.375.093.67.67 0 0 1-.532-.234c-.146-.167-.208-.385-.187-.656l.406-3.188a.51.51 0 0 0-.047-.312 1.13 1.13 0 0 0-.14-.297L63.12 6.016c-.229-.25-.296-.51-.203-.782.073-.28.282-.447.625-.5l3.14-.609a.665.665 0 0 0 .306-.133.595.595 0 0 0 .21-.226l1.516-2.72c.177-.343.417-.515.719-.515.198 0 .375.078.531.235.094.104.167.208.219.312l1.469 2.688c.052.073.132.148.242.226.11.078.2.123.273.133z"></path>
</g>
</svg>
<span>Trained by <b>industry professionals</b></span>
</div>
<h1>
<span class="h1Small" id="copy">Quickly <span class="h1Italic">improve</span> your</span><br>
<span class="h1Big web" style="display: block;">web design</span>
<span class="h1Big mobile" style="display: none">mobile app</span>
<span class="h1Big website" style="display: none">graphics</span>
</h1>
<p class="sectionDescription">
Our AI 🤖 <b>reviews your projects</b> and suggests what to fix. Trained on our
<b>25+ years of industry experience</b>, you get feedback in ⚡️ <b>30 seconds</b>!
</p>
<div class="featureContainer">
<div class="feature"><span>⏱️</span> Pro AI feedback in minutes</div>
<div class="feature"><span>🚀</span> Visual examples show what to fix</div>
<div class="feature"><span>🧠</span> Gets better the more you use it</div>
<div class="feature">
<span>🤑</span> <span>Early adopter half <u>price</u>!</span><span class="endsoon">Ends soon</span>
</div>
</div>
<div class="reserve">Reserve an early adopter seat:</div>
<div id="mc_embed_signup" class="formContainer">
<form action="https://me.us11.list-manage.com/subscribe/post?u=b3d8c0dcf0fca7f1e2dafbeba&id=6a92366cb3&f_id=00a5a3e0f0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate="novalidate">
<div id="mc_embed_signup_scroll" class="inputContainer">
<div class="mc-field-group">
<input type="email" title="email" value="" name="EMAIL" class="required email" id="mce-EMAIL" placeholder="Email address" required="" aria-required="true">
<span id="mce-EMAIL-HELPERTEXT" class="helper_text"></span>
</div>
<div id="mce-responses" class="clear foot formResponses">
<div class="response errorResponse" id="mce-error-response" style="display: none"></div>
<div class="response" id="mce-success-response" style="display: none"></div>
</div>
<!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
<div style="position: absolute; left: -5000px" aria-hidden="true">
<input type="text" name="b_162248a30c1caaac8bd9b730a_89520ccb9a" tabindex="-1" value="">
</div>
</div>
<button class="button primaryButton" type="submit">
Let me know
<svg width="30" height="22" viewBox="0 0 30 22" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="1pfd7onsxa">
<stop stop-color="#252424" stop-opacity=".5" offset="0%"></stop>
<stop stop-color="#252424" stop-opacity=".5" offset="100%"></stop>
</linearGradient>
</defs>
<g stroke="#252424" stroke-width="3" fill="none" fill-rule="evenodd">
<path d="m18.25 1.405 9.546 9.604-9.546 9.604"></path>
<path fill="url(#1pfd7onsxa)" stroke-linecap="square" d="M24.75 9.604h-24" transform="translate(1 1.405)"></path>
</g>
</svg>
</button>
</form>
</div>
<div class="techniques">Our techniques were used on projects for:</div>
<div class="logoContainers">
<img style="max-width: 160px" alt="logo" class="logoPartner" src="images/logos/[email protected]">
<img style="max-width: 200px" alt="logo" class="logoPartner" src="images/logos/[email protected]">
<img style="max-width: 142px" alt="logo" class="logoPartner" src="images/logos/[email protected]">
</div>
<div class="techniques">
Based on Michal Malewicz’s books and courses used by staff and faculty at:
</div>
<div class="logoContainers">
<img style="max-width: 106px" alt="logo" class="logoPartner" src="images/logos/[email protected]">
<img style="max-width: 63px" alt="logo" class="logoPartner" src="images/logos/[email protected]">
<img style="max-width: 186px" alt="logo" class="logoPartner" src="images/logos/[email protected]">
<img style="max-width: 188px" alt="logo" class="logoPartner" src="images/logos/[email protected]">
</div>
</div>
</section>
</main>
</section>
<dialog id="dialog">
<div style="color: white">
<h3>Thanks for signing up!</h3>
<p>We will let you know when we’re ready.</p>
<form method="dialog">
<button autofocus="" type="submit" class="button primaryButton">Close this</button>
</form>
</div>
</dialog>
<!-- <button id="modal">Open Modal dialog</button> -->
<!-- <script>
(function () {
const appId = "YOUR_APP_ID"; // This could be dynamically generated per user
const trackedElements = {
heading: document.getElementById("copy").innerHTML,
};
// Send tracked elements to your server
fetch("https://copy-backend.vercel.app/api/track", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
appId: appId,
elements: trackedElements,
url: window.location.href,
}),
})
.then((response) => response.json())
.then((data) => {
// Optional: update the elements with improved copy
if (data.updatedText) {
document.getElementById("copy").innerHTML = data.updatedText.heading;
}
})
.catch((error) => {
console.error("Error:", error);
});
})();
</script> -->
<script type="text/javascript" src="//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js"></script>
<script type="text/javascript">
(function ($) {
window.fnames = new Array();
window.ftypes = new Array();
fnames[0] = "EMAIL";
ftypes[0] = "email";
fnames[1] = "FNAME";
ftypes[1] = "text";
fnames[2] = "LNAME";
ftypes[2] = "text";
fnames[3] = "ADDRESS";
ftypes[3] = "address";
fnames[4] = "PHONE";
ftypes[4] = "phone";
fnames[5] = "BIRTHDAY";
ftypes[5] = "birthday";
fnames[6] = "COMPANY";
ftypes[6] = "text";
})(jQuery);
var $mcj = jQuery.noConflict(true);
</script>
<script type="text/javascript">
// Select the form and dialog
const form = document.getElementById("mc-embedded-subscribe-form");
const dialog = document.getElementById("dialog");
// Listen for form submission
form.addEventListener("submit", function (event) {
// Show the dialog
dialog.showModal();
// Let the form submission proceed
setTimeout(function () {
form.submit();
}, 1000); // Delay for showing the dialog (optional)
// Prevent the default form submission
event.preventDefault();
});
// Close the dialog when the user clicks outside the content
dialog.addEventListener("click", function (e) {
if (!e.target.closest("div")) {
dialog.close();
}
});
</script>
<script type="text/javascript">
// Select all elements with the classes 'alternate1' and 'alternate2'
const alternate1Elements = document.querySelectorAll(".alternate1");
const alternate2Elements = document.querySelectorAll(".alternate2");
// Set initial states
let currentIndex = 0;
let isAlternate1Visible = true;
// Function to fade in one group and fade out the other
function alternateFade() {
if (isAlternate1Visible) {
// Fade out alternate1 and fade in alternate2
alternate1Elements.forEach((element) => {
element.classList.remove("fade-in");
element.classList.add("fade-out");
});
alternate2Elements.forEach((element) => {
element.classList.remove("fade-out");
element.classList.add("fade-in");
});
} else {
// Fade out alternate2 and fade in alternate1
alternate1Elements.forEach((element) => {
element.classList.remove("fade-out");
element.classList.add("fade-in");
});
alternate2Elements.forEach((element) => {
element.classList.remove("fade-in");
element.classList.add("fade-out");
});
}
// Toggle visibility flag for the next cycle
isAlternate1Visible = !isAlternate1Visible;
}
setInterval(alternateFade, 3500);
// Initially, show alternate1 and hide alternate2
alternate1Elements.forEach((element) => {
element.classList.add("fade-in");
});
alternate2Elements.forEach((element) => {
element.classList.add("fade-out");
});
</script>
<!--End mc_embed_signup-->
<script type="text/javascript">
// Select all elements with the classes 'web', 'mobile', and 'website'
const webElements = document.querySelectorAll(".web");
const mobileElements = document.querySelectorAll(".mobile");
const websiteElements = document.querySelectorAll(".website");
// Store the groups of elements in an array to cycle through
const elementGroups = [webElements, mobileElements, websiteElements];
// Initially set the index to show the first group of elements (web)
let ci = 0;
// Function to show the current group and hide the others
function cycleElements() {
// Loop through all groups of elements
elementGroups.forEach((group, index) => {
// For each group, show or hide all elements in the group based on the current index
group.forEach((element) => {
element.style.display = index === ci ? "block" : "none";
});
});
// Update the currentIndex to the next group
ci = (ci + 1) % elementGroups.length;
}
// Set interval to cycle through every 8 seconds (8000 ms)
setInterval(cycleElements, 8000);
// Call cycleElements once to set the initial state correctly
cycleElements();
</script>
</body></html>