Создать модальное окно, запрашивающее у пользователя пройти проверку hCaptcha, можно с помощью HTML, CSS и JavaScript. Ниже представлен пример с созданием модального окна и интеграцией hCaptcha.
### Пример кода:
```html
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Модальное окно с hCaptcha</title>
<style>
body {
font-family: Arial, sans-serif;
}
/* Стили для модального окна */
.modal {
display: none; /* Скрыто по умолчанию */
position: fixed;
z-index: 998; /* z-index для модального окна */
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto; /* Включить прокрутку если необходимо */
background-color: rgba(0, 0, 0, 0.5); /* Полупрозрачный фон */
}
.modal-content {
background-color: #fff;
margin: 15% auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
max-width: 400px;
}
/* Блокировка фона под модальным окном */
.modal.active {
display: block; /* Показать модальное окно */
}
</style>
<script src="https://www.hcaptcha.com/1/api.js" async defer></script>
</head>
<body>
<h2>Пример проверки hCaptcha</h2>
<button id="openModal">Показать модальное окно</button>
<div id="myModal" class="modal">
<div class="modal-content">
<span id="closeModal" style="cursor:pointer; float:right;">×</span>
<h2>Проверка hCaptcha</h2>
<div class="h-captcha" data-sitekey="ВАШ_КЛЮЧ_ЗДЕСЬ"></div>
<button id="verifyCaptcha">Подтвердить</button>
</div>
</div>
<script>
// Открытие модального окна
document.getElementById("openModal").onclick = function() {
document.getElementById("myModal").classList.add("active");
}
// Закрытие модального окна
document.getElementById("closeModal").onclick = function() {
document.getElementById("myModal").classList.remove("active");
}
// Обработка проверки hCaptcha
document.getElementById("verifyCaptcha").onclick = function() {
const captchaResponse = hcaptcha.getResponse();
if (captchaResponse.length === 0) {
alert("Пожалуйста, пройдите проверку.");
} else {
alert("Проверка пройдена!");
// Здесь можно добавить дополнительную логику после успешной проверки
document.getElementById("myModal").classList.remove("active");
hcaptcha.reset(); // Сброс hCaptcha после проверки
}
}
</script>
</body>
</html>
```
### Краткое описание кода:
1. **HTML**: Создаем кнопку для открытия модального окна и само модальное окно, внутри которого находится виджет hCaptcha.
2. **CSS**: Определяем стили для модального окна и его содержимого. Устанавливаем `z-index` для модального окна на 998 и используем полупрозрачный фон для блокировки взаимодействия с окружающим пространством.
3. **JavaScript**: Добавляем логику для открытия и закрытия модального окна, а также проверки hCaptcha. При нажатии на кнопку "Подтвердить" проверяется, прошел ли пользователь проверку. Если hCaptcha пройдена, можно закрыть модальное окно и выполнить дальнейшие действия.
### Заметка:
Не забудьте заменить `ВАШ_КЛЮЧ_ЗДЕСЬ` на ваш реальный ключ сайта для hCaptcha.