پرش به محتوا

کتاب مقدس آنلاین: تفاوت میان نسخه‌ها

از دانشنامه کتاب مقدس
بدون خلاصۀ ویرایش
برچسب: برگردانده‌شده
بدون خلاصۀ ویرایش
برچسب: برگردانده‌شده
خط ۲۷۶: خط ۲۷۶:
             margin-bottom: 15px;
             margin-bottom: 15px;
             font-size: 1.5rem;
             font-size: 1.5rem;
        }
        .info-message {
            text-align: center;
            padding: 10px;
            background: #e7f3ff;
            border-radius: 5px;
            margin-top: 10px;
            font-size: 0.9rem;
            color: #0066cc;
         }
         }


خط ۵۸۹: خط ۵۹۹:
                             </div>
                             </div>
                         </div>
                         </div>
                    </div>
                   
                    <div class="info-message">
                        <i class="fas fa-info-circle"></i>
                        لینک‌ها در همین پنجره باز می‌شوند. برای بازکردن در تب جدید: راست کلیک → Open in new tab
                     </div>
                     </div>
                      
                      
خط ۷۵۲: خط ۷۶۷:
                 chapterTitle.textContent = `${translationName} - ${bookName} - فصل ${currentChapter}`;
                 chapterTitle.textContent = `${translationName} - ${bookName} - فصل ${currentChapter}`;
                  
                  
                // استفاده از الگوی مناسب برای هر ترجمه
                 const pageTitle = translations[currentTranslation].getPageTitle(bookDisplayName, currentChapter);
                 const pageTitle = translations[currentTranslation].getPageTitle(bookDisplayName, currentChapter);
               
                // استفاده از action=render برای نمایش فقط محتوای اصلی
                 const contentUrl = `${translations[currentTranslation].baseUrl}${encodeURIComponent(pageTitle)}&action=render`;
                 const contentUrl = `${translations[currentTranslation].baseUrl}${encodeURIComponent(pageTitle)}&action=render`;
                  
                  
خط ۷۶۵: خط ۷۷۷:
                         frameborder="0"
                         frameborder="0"
                         loading="lazy"
                         loading="lazy"
                        sandbox="allow-scripts allow-same-origin allow-forms allow-popups"
                         allowfullscreen>
                         allowfullscreen>
                     </iframe>
                     </iframe>
                 `;
                 `;
                  
                  
                 // مدیریت لینک‌های داخل iframe
                 // اضافه کردن sandbox به iframe برای امنیت بیشتر
                 setTimeout(() => {
                 const iframe = document.getElementById('content-iframe');
                    manageIframeLinks();
                }, 2000);
                  
                  
                // لینک صفحه کامل برای باز کردن در تب جدید
                 wikiPageLink.href = `${translations[currentTranslation].baseUrl}${encodeURIComponent(pageTitle)}`;
                 wikiPageLink.href = `${translations[currentTranslation].baseUrl}${encodeURIComponent(pageTitle)}`;
                 wikiPageLink.style.display = 'flex';
                 wikiPageLink.style.display = 'flex';
                 updateNavigationButtons();
                 updateNavigationButtons();
            }
            // تابع جدید برای مدیریت لینک‌های داخل iframe
            function manageIframeLinks() {
                const iframe = document.getElementById('content-iframe');
                if (!iframe) return;
               
                iframe.addEventListener('load', function() {
                    try {
                        const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
                        const links = iframeDoc.querySelectorAll('a');
                       
                        links.forEach(link => {
                            // فقط لینک‌های داخلی سایت pediabible.com را مدیریت می‌کنیم
                            if (link.href && link.href.includes('pediabible.com')) {
                                link.addEventListener('click', function(e) {
                                    e.preventDefault();
                                   
                                    // ساخت URL جدید با action=render
                                    let newUrl = link.href;
                                    if (!newUrl.includes('action=render')) {
                                        if (newUrl.includes('?')) {
                                            newUrl += '&action=render';
                                        } else {
                                            newUrl += '?action=render';
                                        }
                                    }
                                   
                                    // بارگذاری لینک جدید در همان iframe
                                    iframe.src = newUrl;
                                });
                            } else {
                                // لینک‌های خارجی در تب جدید باز شوند
                                link.target = '_blank';
                            }
                        });
                       
                        console.log(`✅ ${links.length} لینک مدیریت شد`);
                    } catch (error) {
                        console.log('⚠️ امکان دسترسی به iframe به دلیل CORS وجود ندارد');
                        // استفاده از روش جایگزین
                        useAlternativeLinkManagement();
                    }
                });
            }
            // روش جایگزین برای زمانی که CORS مانع می‌شود
            function useAlternativeLinkManagement() {
                const iframe = document.getElementById('content-iframe');
                if (!iframe) return;
               
                // گوش دادن به تغییرات iframe
                let currentUrl = iframe.src;
               
                const checkUrlChange = setInterval(() => {
                    try {
                        const iframeWindow = iframe.contentWindow;
                        const iframeUrl = iframeWindow.location.href;
                       
                        if (iframeUrl !== currentUrl && !iframeUrl.includes('action=render')) {
                            // اگر URL تغییر کرد و action=render ندارد، آن را اضافه کنیم
                            let newUrl = iframeUrl;
                            if (newUrl.includes('?')) {
                                newUrl += '&action=render';
                            } else {
                                newUrl += '?action=render';
                            }
                           
                            iframe.src = newUrl;
                            currentUrl = newUrl;
                        }
                    } catch (error) {
                        // خطای CORS - متوقف کردن چک
                        clearInterval(checkUrlChange);
                        console.log('⚠️ نظارت بر تغییرات iframe متوقف شد');
                    }
                }, 500);
               
                // بعد از 30 ثانیه چک کردن را متوقف کن
                setTimeout(() => {
                    clearInterval(checkUrlChange);
                }, 30000);
             }
             }



نسخهٔ ‏۹ اکتبر ۲۰۲۵، ساعت ۲۲:۰۵

<!DOCTYPE html> کتاب مقدس - مطالعه آنلاین

کتاب مقدس

مطالعه کتاب مقدس با ترجمه‌های مختلف