Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
3.1 kB
1
Indexable
Never
<!DOCTYPE html>
<html>
<head>
    <title>Показ URL-ссылок</title>
</head>
<body>
    <h1>Показ URL-ссылок</h1>
    <label for="urlList">Введите перечень URL-ссылок (через запятую):</label>
    <input type="text" id="urlList">
    <br>
    <label for="interval">Введите интервал между сменой ссылок (в секундах):</label>
    <input type="number" id="interval" min="1">
    <br>
    <button onclick="startSlideshow()">Начать слайд-шоу</button>
    <div id="displayArea"></div>

    <script>
        let currentIndex = 0;
        let intervalId;

        function startSlideshow() {
            const urlListInput = document.getElementById("urlList");
            const intervalInput = document.getElementById("interval");
            const displayArea = document.getElementById("displayArea");

            const urlList = urlListInput.value.split(",");
            const interval = parseInt(intervalInput.value) * 1000;

            currentIndex = 0;

            async function showNextURL() {
                const currentURL = urlList[currentIndex];
                if (currentURL) {
                    try {
                        // Создаем временный элемент <iframe> для загрузки URL-ссылки
                        const tempFrame = document.createElement("iframe");
                        tempFrame.style.display = "none"; // Скрываем его
                        document.body.appendChild(tempFrame);

                        // Загружаем URL-ссылку во временный <iframe>
                        tempFrame.src = currentURL;

                        // Ждем некоторое время (например, 3 секунды) для отображения контента
                        await new Promise(resolve => setTimeout(resolve, 3000));

                        // Получаем содержимое <iframe> и отображаем его на странице
                        displayArea.innerHTML = tempFrame.contentDocument.documentElement.innerHTML;

                        // Удаляем временный <iframe>
                        document.body.removeChild(tempFrame);
                    } catch (error) {
                        console.error("Ошибка запроса:", error);
                    }

                    currentIndex = (currentIndex + 1) % urlList.length;
                } else {
                    clearInterval(intervalId);
                    displayArea.innerHTML = "Закончились ссылки.";
                }
            }

            clearInterval(intervalId); // Очищаем предыдущий интервал, если есть

            showNextURL(); // Показываем первую ссылку сразу

            intervalId = setInterval(showNextURL, interval); // Устанавливаем интервал для переключения
        }
    </script>
</body>
</html>