function getCSRFToken() { var name = 'csrf_token='; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) === 0) { return c.substring(name.length, c.length); } } var csrfToken = generateCSRFToken(); document.cookie = "csrf_token=" + csrfToken + "; path=/"; return csrfToken;}function generateCSRFToken() { var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; var token = ''; for (var i = 0; i < 32; i++) { token += chars.charAt(Math.floor(Math.random() * chars.length)); } return token;} async function loadLink() { var csrfToken = getCSRFToken(); var url = `https://seo-vizitka.ru/api_link.php?token=${csrfToken}&uid=2`; try { const container = document.getElementById("slot_2"); const linprice = document.getElementById("linprice_2"); if(linprice){ linprice.innerHTML = 2.00; } if (!container) { throw new Error("Не найден контейнер для размещения рекламы"); } // Добавляем класс "loading", чтобы отобразить анимацию загрузки //container.classList.add("loading"); const response = await fetch(url); if (!response.ok) { throw new Error(`Ошибка загрузки рекламы: ${response.status}`); } const data = await response.text(); const div = document.createElement("div"); div.id = "link_2"; div.innerHTML = data; const oldBanner = document.getElementById("link_2"); if (oldBanner) { container.removeChild(oldBanner); } container.appendChild(div); // Удаляем класс "loading" после завершения загрузки //container.classList.remove("loading"); //console.log("Реклама успешно загружена"); } catch (error) { console.error(`Ошибка загрузки рекламы: ${error.message}`); } } setTimeout(loadLink, 300);