document.addEventListener('DOMContentLoaded', function() { // Находим форму по классу const form = document.querySelector('.t-form__inputsbox_vertical-form'); if (form) { form.addEventListener('submit', async function(e) { e.preventDefault(); // Получаем значения полей const siteUrl = form.querySelector('input[name="url"]').value.trim(); const keyword = form.querySelector('input[name="text"]').value.trim(); // Проверка заполнения полей if (!siteUrl || !keyword) { alert('Пожалуйста, заполните все поля'); return; } // Показываем индикатор загрузки const submitButton = form.querySelector('.t-submit'); const originalButtonText = submitButton.querySelector('.t-btnflex__text').textContent; submitButton.querySelector('.t-btnflex__text').textContent = 'Проверяем...'; submitButton.disabled = true; // Создаем или находим блок для результатов let resultsContainer = document.getElementById('position-check-results'); if (!resultsContainer) { resultsContainer = document.createElement('div'); resultsContainer.id = 'position-check-results'; resultsContainer.style.marginTop = '20px'; resultsContainer.style.padding = '15px'; resultsContainer.style.border = '1px solid #eee'; resultsContainer.style.borderRadius = '5px'; form.parentNode.insertBefore(resultsContainer, form.nextSibling); } resultsContainer.innerHTML = '

Идет проверка позиций...

'; try { // Отправляем запрос на ваш бэкенд const response = await fetch('https://khasyanov-host.ru/api.php', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ site_url: siteUrl, keyword: keyword }) }); const data = await response.json(); if (data.error) { resultsContainer.innerHTML = `

Ошибка: ${data.error}

`; return; } // Форматируем результаты let html = `

Результаты для ${siteUrl}

`; html += `

Ключевое слово: "${keyword}"

`; if (data.results && data.results.length > 0) { html += '
'; html += '

Позиции в поисковой выдаче:

'; html += ''; html += ''; html += ''; html += ''; html += ''; data.results.forEach((position, index) => { const isTargetSite = position.domain.includes(new URL(siteUrl).hostname.replace('www.', '')); const rowStyle = isTargetSite ? 'background-color: #e6f7e6;' : ''; html += ``; html += ``; html += ``; html += ''; }); html += '
ПозицияСайт
${position.position}${position.domain}
'; html += '
'; } else { html += '

Позиции не найдены в ТОП-10

'; } resultsContainer.innerHTML = html; } catch (error) { resultsContainer.innerHTML = `

Произошла ошибка при проверке: ${error.message}

`; } finally { // Восстанавливаем кнопку submitButton.querySelector('.t-btnflex__text').textContent = originalButtonText; submitButton.disabled = false; } }); } });
Made on
Tilda