این کد من مشکل داره <!DOCTYPE html>
<html lang="fa">
<head>
    <meta charset="UTF-8">
    <title>صفحه با iframe و دانلود کد</title>
    <style>
        /* تنظیمات پایه برای body و html */
        html, body {
            margin: 0;
            padding: 0;
            height: 100%;
            overflow: hidden; 
            background-color: #f0f0f0;
            font-family: Arial, sans-serif;
        }

        /* کانتینر iframe */
        .iframe-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            overflow: hidden;
            z-index: 1;
        }

        /* تنظیمات iframe */
        .iframe-container iframe {
            position: absolute;
            top: -264px; /* تغییر به ۷ سانتیمتر */
            left: 0;
            width: 100%;
            height: calc(100% + 264px + 76px); /* افزایش ارتفاع برای مخفی کردن بالا و پایین */
            border: none;
            display: none; 
        }

        /* Overlay برای مخفی کردن بخش‌های بالا و پایین */
        .overlay-top, .overlay-bottom {
            position: fixed;
            width: 100%;
            background-color: transparent;
            z-index: 900;
            pointer-events: none;
        }

        .overlay-top {
            top: 0;
            height: 264px; /* ۷ سانتیمتر */
        }

        .overlay-bottom {
            bottom: 0;
            height: 76px; /* ۲ سانتیمتر */
        }

        /* لودینگ */
        .loading {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: white;
            padding: 20px;
            border-radius: 5px;
            z-index: 2000;
            display: flex;
            flex-direction: column;
            align-items: center;
            max-width: 90%;
            box-sizing: border-box;
        }

        .loading-message {
            margin-bottom: 10px;
            font-size: 18px;
            text-align: center;
        }

        .progress {
            width: 80%;
            max-width: 400px;
            height: 20px;
            background-color: #ddd;
            border-radius: 5px;
            overflow: hidden;
            margin-bottom: 10px;
        }

        .progress-bar {
            height: 100%;
            width: 0;
            background-color: #4caf50;
            transition: width 0.25s;
        }

        .error-message {
            display: none;
            color: red;
            text-align: center;
            margin-bottom: 10px;
            font-size: 16px;
        }

        #retryButton {
            display: none;
            padding: 10px 20px;
            background-color: #4caf50;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 16px;
        }

        #retryButton:hover {
            background-color: #45a049;
        }

        /* دکمه دانلود */
        .download-button {
            display: block;
            width: 90px; /* کاهش اندازه دکمه */
            color: white;
            text-align: center;
            padding: 8px;
            border-radius: 5px;
            cursor: pointer;
            font-size: 13px;
            position: fixed;
            top: 20px;
            right: 10px;
            z-index: 10001;
            background-color: #4CAF50;
            text-decoration: none;
        }

        .download-button:hover {
            background-color: #45a049;
        }
    </style>
</head>
<body>
    <!-- لودینگ -->
    <div class="loading" id="loading">
        <div class="loading-message">لطفاً صبر کنید...</div>
        <div class="progress">
            <div class="progress-bar" id="progressBar"></div>
        </div>
        <div class="error-message" id="errorMessage">بارگیری زیاد طول کشید.<br />در صورت عدم بارگذاری، فیلترشکن خود را روشن کنید.</div>
        <button id="retryButton">بارگذاری مجدد</button>
    </div>

    <!-- دکمه دانلود کد -->
    <a href="#" class="download-button" id="downloadButton">دانلود کد 📥</a>

    <!-- کانتینر iframe -->
    <div class="iframe-container">
        <iframe id="myIframe" src="https://l-ai-gemini-ui-generator.hf.space/" scrolling="yes"></iframe>
    </div>

    <!-- Overlay برای مخفی کردن بخش‌های بالا و پایین -->
    <div class="overlay-top" id="overlayTop"></div>
    <div class="overlay-bottom" id="overlayBottom"></div>

    <script>
        let progress = 0;
        let initialLoadCompleted = false;
        const progressBar = document.getElementById('progressBar');
        const retryButton = document.getElementById('retryButton');
        const errorMessage = document.getElementById('errorMessage');
        const loading = document.getElementById('loading');
        const iframe = document.getElementById('myIframe');
        let progressInterval;
        let errorTimeout;

        function startProgress() {
            if (initialLoadCompleted) return; 
            progressInterval = setInterval(() => {
                if (progress < 100) {
                    progress += Math.floor(Math.random() * 10) + 5; // افزایش تصادفی برای بهتر شدن تجربه کاربر
                    if (progress > 100) progress = 100;
                    progressBar.style.width = progress + '%';
                }
                if (progress >= 100 && !initialLoadCompleted) {
                    clearInterval(progressInterval);
                    showError();
                }
            }, 1000);

            errorTimeout = setTimeout(() => {
                if (!initialLoadCompleted) {
                    showError();
                }
            }, 10000);
        }

        function iframeLoaded() {
            if (initialLoadCompleted) return;
            initialLoadCompleted = true;
            clearInterval(progressInterval);
            clearTimeout(errorTimeout);
            loading.style.display = 'none';
            iframe.style.display = 'block';
        }

        function iframeError() {
            if (initialLoadCompleted) return;
            clearInterval(progressInterval);
            clearTimeout(errorTimeout);
            showError();
        }

        function showError() {
            errorMessage.style.display = 'block';
            retryButton.style.display = 'block';
        }

        function resetLoading() {
            progress = 0;
            progressBar.style.width = '0%';
            initialLoadCompleted = false;
            loading.style.display = 'flex';
            errorMessage.style.display = 'none';
            retryButton.style.display = 'none';
            iframe.style.display = 'none';
            clearInterval(progressInterval);
            clearTimeout(errorTimeout);
            iframe.addEventListener('load', iframeLoaded, { once: true });
            iframe.addEventListener('error', iframeError, { once: true });
            startProgress();
        }

        function loadIframe() {
            iframe.src = iframe.src;
        }

        retryButton.addEventListener('click', () => {
            resetLoading();
            loadIframe();
        });

        iframe.addEventListener('load', iframeLoaded, { once: true });
        iframe.addEventListener('error', iframeError, { once: true });
        startProgress();

        // دکمه دانلود کد
        document.getElementById('downloadButton').addEventListener('click', function(event) {
            event.preventDefault();
            const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
            try {
                // اطمینان از دسترسی به محتوای iframe
                if (!iframeDocument) {
                    throw new Error("عدم دسترسی به محتوای iframe. احتمالاً به دلیل محدودیت‌های امنیتی.");
                }

                // انتخاب تمام لینک‌های دارای پسوند .html یا .htm (با حساسیت به حروف بزرگ و کوچک)
                const links = iframeDocument.querySelectorAll('a[href]');
                const htmlFiles = [];

                links.forEach(link => {
                    const href = link.getAttribute('href');
                    if (href) {
                        // استفاده از URL برای بررسی دقیق‌تر
                        try {
                            const url = new URL(href, iframe.src);
                            if (url.pathname.toLowerCase().endsWith('.html') || url.pathname.toLowerCase().endsWith('.htm')) {
                                htmlFiles.push(url.href);
                            }
                        } catch (e) {
                            // لینک‌های نامعتبر نادیده گرفته می‌شوند
                        }
                    }
                });

                if (htmlFiles.length === 0) {
                    alert("هیچ فایل HTML برای دانلود یافت نشد.");
                    return;
                }

                if (confirm(`${htmlFiles.length} فایل HTML یافت شد. برای دانلود روی "تأیید" کلیک کنید.`)) {
                    htmlFiles.forEach(fileUrl => {
                        const a = document.createElement('a');
                        a.href = fileUrl;
                        a.download = ''; // مرورگر به طور پیش‌فرض نام فایل را از URL می‌گیرد
                        document.body.appendChild(a);
                        a.click();
                        document.body.removeChild(a);
                    });
                }

            } catch (error) {
                console.error("خطا در شناسایی فایل‌های HTML: ", error);
                alert("خطایی در شناسایی فایل‌های HTML رخ داد. احتمالاً به دلیل محدودیت‌های امنیتی مرورگر نتوانستیم به محتویات iframe دسترسی پیدا کنیم. لطفاً مطمئن شوید که iframe در همان دامنه قرار دارد و دسترسی مجاز است.");
            }
        });
    </script>
</body>
</html> لینک ها و فایل های اچ تی ام ال رو دکمه دانلود که میزنم درست شناسایی نمیکنه کد کامل یکجا درست کن بفرست نشد ببین باید لینک های با فرمت html رو شناسایی کنه https://l-ai-gemini-ui-generator.hf.space/media/7b0337beb54a6a4613dd8e656f2247b29301aa9b8f1ea2d6f05d89d9.html یه همچین لینک های ساخته میشه خب تو کاری کن هر لینکی با فرمت اچ تی ام ال داخل صفحه باشه با زدن دکمه دانلود کد شناسایی بشه و لینک به مرورگر هدایت بشه کد کامل یکجا درست کن بفرست