پرش به محتوا

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

از دانشنامه کتاب مقدس
بدون خلاصۀ ویرایش
برچسب: برگردانده‌شده
بدون خلاصۀ ویرایش
برچسب: برگردانده‌شده
خط ۳: خط ۳:
<head>
<head>
     <meta charset="UTF-8">
     <meta charset="UTF-8">
     <title>تست لینک‌های iframe در مدیاویکی</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>کتاب مقدس - مطالعه آنلاین</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
     <style>
     <style>
         body { font-family: Tahoma; padding: 20px; text-align: center; }
        :root {
         iframe { width: 100%; height: 400px; border: 2px solid #3498db; }
            --primary-color: #2c3e50;
         button { background: #3498db; color: white; padding: 10px 20px; border: none; margin: 10px; }
            --secondary-color: #8B4513;
            --accent-color: #A52A2A;
            --light-color: #f8f5f2;
            --dark-color: #3E2723;
            --border-color: #D2B48C;
            --font-family: 'Times New Roman', serif;
        }
       
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
       
         body {
            font-family: var(--font-family);
            background-color: #f5f1eb;
            color: var(--dark-color);
            line-height: 1.6;
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" opacity="0.05"><path fill="%238B4513" d="M20,20 L80,20 L80,80 L20,80 Z" stroke="%238B4513" stroke-width="2"/></svg>');
            padding: 0;
            margin: 0;
        }
       
        /* مخفی کردن هدرهای اضافی ویکی */
        body > header:first-child,
        .wiki-header,
        .mw-header,
        #mw-header,
        #header,
        .header {
            display: none !important;
        }
       
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 5px 15px;
        }
       
        .app-header {
            text-align: center;
            margin-bottom: 20px;
            padding: 15px 20px;
            border-bottom: 2px solid var(--border-color);
            background: linear-gradient(to bottom, #f9f6f2, #f0e6d6);
            border-radius: 8px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
            position: relative;
        }
       
        .breadcrumb {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 8px;
            margin-bottom: 12px;
            font-size: 0.9rem;
            color: var(--dark-color);
            direction: rtl;
        }
       
        .breadcrumb-home {
            color: var(--accent-color);
            text-decoration: none;
            transition: color 0.3s;
            font-weight: 500;
        }
       
        .breadcrumb-home:hover {
            color: var(--primary-color);
            text-decoration: underline;
        }
       
        .breadcrumb-separator {
            color: var(--border-color);
            font-weight: 300;
        }
       
        .breadcrumb-current {
            color: var(--primary-color);
            font-weight: bold;
        }
       
        .app-header h1 {
            color: var(--primary-color);
            margin-bottom: 8px;
            font-size: 1.8rem;
            text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
            font-weight: 700;
            text-align: center;
        }
       
        .description {
            color: var(--accent-color);
            font-size: 1rem;
            font-style: italic;
            margin-top: 5px;
            text-align: center;
        }
       
        .selector-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 15px;
            margin-bottom: 20px;
            background: white;
            padding: 15px;
            border-radius: 8px;
            box-shadow: 0 4px 8px rgba(0,0,0,0.08);
            border: 1px solid var(--border-color);
            direction: rtl;
            text-align: right;
        }
       
        .selector-box {
            background: white;
            border-radius: 6px;
            padding: 12px;
            border: 1px solid var(--border-color);
        }
       
        .selector-title {
            font-size: 1rem;
            margin-bottom: 8px;
            color: var(--primary-color);
            border-bottom: 1px solid var(--border-color);
            padding-bottom: 5px;
            text-align: center;
        }
          
        select {
            width: 100%;
            padding: 10px 12px;
            border: 1px solid var(--border-color);
            border-radius: 4px;
            background-color: white;
            font-size: 0.95rem;
            color: var(--dark-color);
            cursor: pointer;
            transition: all 0.3s;
            font-family: var(--font-family);
            text-align: right;
            direction: rtl;
        }
       
        select:focus {
            outline: none;
            border-color: var(--accent-color);
            box-shadow: 0 0 0 2px rgba(165, 42, 42, 0.2);
        }
       
        .bible-content {
            background: white;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            padding: 25px;
            min-height: 500px;
            border: 1px solid var(--border-color);
            margin-bottom: 20px;
            direction: rtl;
            text-align: right;
        }
       
        .chapter-title {
            text-align: center;
            margin-bottom: 20px;
            color: var(--primary-color);
            font-size: 1.5rem;
            padding-bottom: 10px;
            border-bottom: 2px solid var(--border-color);
        }
       
        .content-display {
            width: 100%;
            height: 650px;
            border: 1px solid var(--border-color);
            border-radius: 6px;
            background: white;
        }
       
        /* استایل‌های جدید برای Overlay */
        .iframe-wrapper {
            position: relative;
            width: 100%;
            height: 650px;
        }
       
        .iframe-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            cursor: pointer;
            z-index: 10;
            background: transparent;
            transition: background-color 0.3s;
        }
       
        .iframe-overlay:hover {
            background: rgba(52, 152, 219, 0.1);
        }
          
        .overlay-message {
            position: absolute;
            bottom: 10px;
            right: 10px;
            background: rgba(0, 0, 0, 0.7);
            color: white;
            padding: 5px 10px;
            border-radius: 4px;
            font-size: 0.8rem;
            opacity: 0;
            transition: opacity 0.3s;
        }
       
        .iframe-overlay:hover .overlay-message {
            opacity: 1;
        }
       
        .navigation {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 25px;
            flex-wrap: wrap;
            gap: 10px;
            direction: rtl;
        }
       
        .nav-btn {
            padding: 12px 20px;
            background-color: var(--secondary-color);
            color: white;
            border: none;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.3s;
            font-size: 1rem;
            display: flex;
            align-items: center;
            gap: 8px;
            font-family: var(--font-family);
            box-shadow: 0 2px 4px rgba(0,0,0,0.2);
        }
       
        .nav-btn:hover {
            background-color: var(--accent-color);
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.2);
        }
       
        .nav-btn:disabled {
            background-color: #b0a090;
            cursor: not-allowed;
            transform: none;
            box-shadow: none;
        }
 
        .wiki-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 12px 20px;
            background-color: var(--accent-color);
            color: white;
            text-decoration: none;
            border-radius: 6px;
            transition: all 0.3s;
            font-size: 1rem;
            font-family: var(--font-family);
            box-shadow: 0 2px 4px rgba(0,0,0,0.2);
        }
 
        .wiki-link:hover {
            background-color: #8B0000;
            transform: translateY(-2px);
            box-shadow: 0 4px 8px rgba(0,0,0,0.2);
        }
 
        .instructions {
            text-align: center;
            color: #7f8c8d;
            padding: 40px 20px;
            border: 2px dashed var(--border-color);
            border-radius: 8px;
            margin-top: 20px;
            font-size: 1.1rem;
            background-color: var(--light-color);
        }
 
        .access-denied {
            text-align: center;
            padding: 40px;
            background: #fee;
            border-radius: 8px;
            border: 2px solid #f5c6cb;
            color: #721c24;
            margin-top: 20px;
        }
 
        .access-denied h3 {
            color: #721c24;
            margin-bottom: 15px;
            font-size: 1.5rem;
        }
 
        /* استایل‌های مخصوص موبایل */
        @media (max-width: 768px) {
            .container {
                padding: 8px 10px;
            }
           
            .app-header {
                margin-bottom: 15px;
                padding: 12px 15px;
            }
           
            .breadcrumb {
                font-size: 0.85rem;
                margin-bottom: 10px;
            }
           
            .app-header h1 {
                font-size: 1.5rem;
                margin-bottom: 6px;
            }
           
            .description {
                font-size: 0.9rem;
            }
           
            .selector-container {
                grid-template-columns: 1fr;
                gap: 10px;
                margin-bottom: 20px;
                padding: 15px;
            }
           
            .bible-content {
                padding: 15px;
                min-height: 450px;
            }
           
            .chapter-title {
                font-size: 1.3rem;
                margin-bottom: 15px;
            }
           
            .content-display, .iframe-wrapper {
                height: 500px;
            }
           
            .navigation {
                flex-direction: column;
                gap: 10px;
            }
           
            .nav-btn, .wiki-link {
                width: 100%;
                justify-content: center;
            }
        }
 
        @media (max-width: 480px) {
            .content-display, .iframe-wrapper {
                height: 450px;
            }
           
            .nav-btn, .wiki-link {
                padding: 10px 15px;
                font-size: 0.9rem;
            }
           
            .instructions {
                padding: 30px 15px;
                font-size: 1rem;
            }
           
            .app-header {
                padding: 10px 12px;
            }
           
            .app-header h1 {
                font-size: 1.3rem;
            }
        }
 
        /* استایل برای حالت انتخاب نشده */
        .placeholder {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            height: 100%;
            color: #7f8c8d;
            text-align: center;
        }
 
        .placeholder i {
            font-size: 3rem;
            margin-bottom: 15px;
            color: var(--border-color);
        }
 
        /* استایل برای راست‌چین کامل */
        option {
            direction: rtl;
            text-align: right;
        }
     </style>
     </style>
</head>
</head>
<body>
<body>
     <h1>تست لینک‌ها در مدیاویکی</h1>
     <div class="container">
   
        <div class="app-header">
    <button onclick="loadSimpleIframe()">بارگذاری iframe ساده</button>
            <nav class="breadcrumb">
   
                <a href="https://www.pediabible.com" class="breadcrumb-home">خانه</a>
    <div id="iframe-container"></div>
                <span class="breadcrumb-separator">/</span>
                <span class="breadcrumb-current">کتاب مقدس</span>
            </nav>
            <h1>کتاب مقدس</h1>
            <p class="description">مطالعه کتاب مقدس با ترجمه‌های مختلف</p>
        </div>
       
        <div id="content-wrapper">
            <!-- محتوا توسط JavaScript پر می‌شود -->
        </div>
    </div>


     <script>
     <script>
         function loadSimpleIframe() {
        // 🔒 سیستم حفاظتی - بررسی دامنه مجاز
             const container = document.getElementById('iframe-container');
        const ALLOWED_DOMAINS = [
            'pediabible.com',
            'www.pediabible.com',
            'localhost',
            '127.0.0.1'
        ];
 
        // تابع بررسی مجاز بودن دامنه
         function isDomainAllowed() {
             const currentDomain = window.location.hostname;
            console.log('🔍 بررسی دامنه:', currentDomain);
           
            // اگر روی فایل محلی هستیم، اجازه بده
            if (!currentDomain || currentDomain === '' || currentDomain === 'null') {
                console.log('✅ فایل محلی - مجاز');
                return true;
            }
           
            const isAllowed = ALLOWED_DOMAINS.some(domain => {
                const match = currentDomain === domain || currentDomain.endsWith('.' + domain);
                if (match) {
                    console.log(`✅ دامنه ${currentDomain} مجاز است`);
                }
                return match;
            });
           
            if (!isAllowed) {
                console.log(`❌ دامنه ${currentDomain} غیرمجاز است`);
            }
              
              
             // ایجاد iframe با sandbox که allow-popups دارد
             return isAllowed;
             const iframe = document.createElement('iframe');
        }
             iframe.src = 'https://www.pediabible.com/index.php?title=پیدایش_فصل_1&action=render';
 
            iframe.sandbox = 'allow-scripts allow-same-origin allow-popups';
        // تابع نمایش پیام دسترسی غیرمجاز
             iframe.style.width = '100%';
        function showAccessDenied() {
             iframe.style.height = '400px';
             const wrapper = document.getElementById('content-wrapper');
            iframe.style.border = '1px solid #ccc';
             wrapper.innerHTML = `
                <div class="access-denied">
                    <h3><i class="fas fa-ban"></i> دسترسی محدود شده</h3>
                    <p>این صفحه فقط بر روی دامنه <strong>pediabible.com</strong> قابل دسترسی است.</p>
                    <p>دامنه فعلی: <code>${window.location.hostname}</code></p>
                    <p>لطفاً از <a href="https://www.pediabible.com" style="color: #721c24; text-decoration: underline;">سایت اصلی</a> بازدید کنید.</p>
                </div>
             `;
        }
 
        // تابع اصلی بارگذاری برنامه
        function loadApplication() {
             console.log('🚀 شروع بارگذاری با بررسی امنیتی...');
              
              
             container.innerHTML = '';
             if (!isDomainAllowed()) {
             container.appendChild(iframe);
                console.log('❌ دسترسی غیرمجاز - نمایش پیام خطا');
                showAccessDenied();
                return;
            }
 
            console.log('✅ دامنه مجاز - بارگذاری برنامه اصلی');
            // اگر دامنه مجاز باشد، برنامه اصلی بارگذاری می‌شود
            initializeBibleApp();
        }
 
        // داده‌های کامل کتاب‌های مقدس
        const bibleBooks = {
            old: [
                { name: "پیدایش", chapters: 50, displayName: "پیدایش" },
                { name: "خروج", chapters: 40, displayName: "خروج" },
                { name: "لاویان", chapters: 27, displayName: "لاویان" },
                { name: "اعداد", chapters: 36, displayName: "اعداد" },
                { name: "تثنیه", chapters: 34, displayName: "تثنیه" },
                { name: "یوشع", chapters: 24, displayName: "یوشع" },
                { name: "داوران", chapters: 21, displayName: "داوران" },
                { name: "روت", chapters: 4, displayName: "روت" },
                { name: "اول سموئیل", chapters: 31, displayName: "اول سموئیل" },
                { name: "دوم سموئیل", chapters: 24, displayName: "دوم سموئیل" },
                { name: "اول پادشاهان", chapters: 22, displayName: "اول پادشاهان" },
                { name: "دوم پادشاهان", chapters: 25, displayName: "دوم پادشاهان" },
                { name: "اول تواریخ", chapters: 29, displayName: "اول تواریخ" },
                { name: "دوم تواریخ", chapters: 36, displayName: "دوم تواریخ" },
                { name: "عزرا", chapters: 10, displayName: "عزرا" },
                { name: "نحمیا", chapters: 13, displayName: "نحمیا" },
                { name: "استر", chapters: 10, displayName: "استر" },
                { name: "ایوب", chapters: 42, displayName: "ایوب" },
                { name: "مزامیر", chapters: 150, displayName: "مزامیر" },
                { name: "امثال سلیمان", chapters: 31, displayName: "امثال سلیمان" },
                { name: "جامعه", chapters: 12, displayName: "جامعه" },
                { name: "غزل غزلهای سلیمان", chapters: 8, displayName: "غزل غزلهای سلیمان" },
                { name: "اشعیا", chapters: 66, displayName: "اشعیا" },
                { name: "ارمیا", chapters: 52, displayName: "ارمیا" },
                { name: "مراثی ارمیا", chapters: 5, displayName: "مراثی ارمیا" },
                { name: "حزقیال", chapters: 48, displayName: "حزقیال" },
                { name: "دانیال", chapters: 12, displayName: "دانیال" },
                { name: "هوشع", chapters: 14, displayName: "هوشع" },
                { name: "یوئیل", chapters: 3, displayName: "یوئیل" },
                { name: "عاموس", chapters: 9, displayName: "عاموس" },
                { name: "عوبدیا", chapters: 1, displayName: "عوبدیا" },
                { name: "یونس", chapters: 4, displayName: "یونس" },
                { name: "میکاه", chapters: 7, displayName: "میکاه" },
                { name: "ناحوم", chapters: 3, displayName: "ناحوم" },
                { name: "حبقوق", chapters: 3, displayName: "حبقوق" },
                { name: "صفنیا", chapters: 3, displayName: "صفنیا" },
                { name: "حجی", chapters: 2, displayName: "حجی" },
                { name: "زکریا", chapters: 14, displayName: "زکریا" },
                { name: "ملاکی", chapters: 4, displayName: "ملاکی" }
            ],
            new: [
                { name: "متی", chapters: 28, displayName: "انجیل به قلم متی" },
                { name: "مرقس", chapters: 16, displayName: "انجیل به قلم مرقس" },
                { name: "لوقا", chapters: 24, displayName: "انجیل به قلم لوقا" },
                { name: "یوحنا", chapters: 21, displayName: "انجیل به قلم یوحنا" },
                { name: "اعمال ", chapters: 28, displayName: "اعمال " },
                { name: "رومیان", chapters: 16, displayName: "رساله به رومیان" },
                { name: "اول قرنتیان", chapters: 16, displayName: "رساله اول به قرنتیان" },
                { name: "دوم قرنتیان", chapters: 13, displayName: "رساله دوم به قرنتیان" },
                { name: "غلاطیان", chapters: 6, displayName: "رساله به غلاطیان" },
                { name: "افسسیان", chapters: 6, displayName: "رساله به افسسیان" },
                { name: "فیلیپیان", chapters: 4, displayName: "رساله به فیلیپیان" },
                { name: "کولسیان", chapters: 4, displayName: "رساله به کولسیان" },
                { name: "اول تسالونیکیان", chapters: 5, displayName: "رساله اول به تسالونیکیان" },
                { name: "دوم تسالونیکیان", chapters: 3, displayName: "رساله دوم به تسالونیکیان" },
                { name: "اول تیموتائوس", chapters: 6, displayName: "رساله اول به تیموتائوس" },
                { name: "دوم تیموتائوس", chapters: 4, displayName: "رساله دوم به تیموتائوس" },
                { name: "تیتوس", chapters: 3, displayName: "رساله به تیتوس" },
                { name: "فیلیمون", chapters: 1, displayName: "رساله به فیلیمون" },
                { name: "عبرانیان", chapters: 13, displayName: "رساله به عبرانیان" },
                { name: "یعقوب", chapters: 5, displayName: "رساله یعقوب" },
                { name: "اول پطرس", chapters: 5, displayName: "رساله اول پطرس" },
                { name: "دوم پطرس", chapters: 3, displayName: "رساله دوم پطرس" },
                { name: "اول یوحنا", chapters: 5, displayName: "رساله اول یوحنا" },
                { name: "دوم یوحنا", chapters: 1, displayName: "رساله دوم یوحنا" },
                { name: "سوم یوحنا", chapters: 1, displayName: "رساله سوم یوحنا" },
                { name: "یهودا", chapters: 1, displayName: "رساله یهودا" },
                { name: "کتاب مکاشفه", chapters: 22, displayName: "کتاب مکاشفه " }
            ]
        };
 
        // 🔧 برنامه اصلی کتاب مقدس
        function initializeBibleApp() {
             const wrapper = document.getElementById('content-wrapper');
              
              
             // اضافه کردن event listener برای وقتی iframe لود شد
             // ایجاد ساختار HTML برنامه
             iframe.onload = function() {
            wrapper.innerHTML = `
                 alert('iframe بارگذاری شد! حالا لینک‌ها باید در پنجره جدید باز شوند.');
                <div class="selector-container">
                    <div class="selector-box">
                        <h3 class="selector-title">ترجمه</h3>
                        <select id="translation-select">
                            <option value="">انتخاب ترجمه</option>
                            <option value="old">ترجمه قدیم</option>
                            <option value="hejre_nou">هزاره نو</option>
                            <option value="mozde">مژده</option>
                            <option value="daneshname">دانشنامه</option>
                        </select>
                    </div>
                   
                    <div class="selector-box">
                        <h3 class="selector-title">عهد</h3>
                        <select id="testament-select" disabled>
                            <option value="">انتخاب عهد</option>
                            <option value="old">عهد قدیم</option>
                            <option value="new">عهد جدید</option>
                        </select>
                    </div>
                   
                    <div class="selector-box">
                        <h3 class="selector-title">کتاب</h3>
                        <select id="book-select" disabled>
                            <option value="">انتخاب کتاب</option>
                        </select>
                    </div>
                   
                    <div class="selector-box">
                        <h3 class="selector-title">فصل</h3>
                        <select id="chapter-select" disabled>
                            <option value="">انتخاب فصل</option>
                        </select>
                    </div>
                </div>
               
                <div class="bible-content">
                    <h2 class="chapter-title" id="chapter-title">لطفاً ترجمه، کتاب و فصل مورد نظر را انتخاب کنید</h2>
                   
                    <div id="verses-container">
                        <div class="instructions">
                            <div class="placeholder">
                                <i class="fas fa-book-open"></i>
                                <p>برای مطالعه کتاب مقدس، لطفاً ابتدا ترجمه، سپس عهد، کتاب و فصل مورد نظر خود را انتخاب کنید.</p>
                            </div>
                        </div>
                    </div>
                   
                    <div class="navigation">
                        <button class="nav-btn" id="prev-chapter" disabled>
                            <i class="fas fa-arrow-right"></i>
                            فصل قبلی
                        </button>
                       
                        <a href="#" class="wiki-link" id="wiki-page-link" target="_blank" style="display: none;">
                            <i class="fas fa-external-link-alt"></i>
                            صفحه کامل
                        </a>
                       
                        <button class="nav-btn" id="next-chapter" disabled>
                            فصل بعدی
                            <i class="fas fa-arrow-left"></i>
                        </button>
                    </div>
                </div>
            `;
 
            // داده‌های ترجمه‌های مختلف
             const translations = {
                'old': {
                    name: 'ترجمه قدیم',
                    baseUrl: 'https://www.pediabible.com/index.php?title=',
                    getPageTitle: function(bookDisplayName, chapter) {
                        return `${bookDisplayName} فصل ${chapter}`;
                    }
                },
                 'hejre_nou': {
                    name: 'هزاره نو',
                    baseUrl: 'https://www.pediabible.com/index.php?title=',
                    getPageTitle: function(bookDisplayName, chapter) {
                        return `${bookDisplayName} هزاره نو فصل ${chapter}`;
                    }
                },
                'mozde': {
                    name: 'مژده',
                    baseUrl: 'https://www.pediabible.com/index.php?title=',
                    getPageTitle: function(bookDisplayName, chapter) {
                        return `${bookDisplayName} مژده فصل ${chapter}`;
                    }
                },
                'daneshname': {
                    name: 'دانشنامه',
                    baseUrl: 'https://www.pediabible.com/index.php?title=',
                    getPageTitle: function(bookDisplayName, chapter) {
                        return `${bookDisplayName} دانشنامه فصل ${chapter}`;
                    }
                }
             };
             };
        }
    </script>
</body>
</html>


            // عناصر DOM
            const translationSelect = document.getElementById('translation-select');
            const testamentSelect = document.getElementById('testament-select');
            const bookSelect = document.getElementById('book-select');
            const chapterSelect = document.getElementById('chapter-select');
            const chapterTitle = document.getElementById('chapter-title');
            const versesContainer = document.getElementById('verses-container');
            const prevChapterBtn = document.getElementById('prev-chapter');
            const nextChapterBtn = document.getElementById('next-chapter');
            const wikiPageLink = document.getElementById('wiki-page-link');
            // متغیرهای وضعیت فعلی
            let currentTranslation = '';
            let currentTestament = '';
            let currentBook = '';
            let currentChapter = 1;
            // رویداد تغییر ترجمه
            translationSelect.addEventListener('change', function() {
                currentTranslation = this.value;
               
                if (currentTranslation) {
                    testamentSelect.disabled = false;
                    testamentSelect.value = '';
                    bookSelect.disabled = true;
                    bookSelect.innerHTML = '<option value="">انتخاب کتاب</option>';
                    chapterSelect.disabled = true;
                    chapterSelect.innerHTML = '<option value="">انتخاب فصل</option>';
                    resetContent();
                } else {
                    resetAll();
                }
            });
            // رویداد تغییر عهد
            testamentSelect.addEventListener('change', function() {
                currentTestament = this.value;
               
                if (currentTestament) {
                    bookSelect.disabled = false;
                    bookSelect.innerHTML = '<option value="">انتخاب کتاب</option>';
                   
                    bibleBooks[currentTestament].forEach((book, index) => {
                        const option = document.createElement('option');
                        option.value = index;
                        option.textContent = book.name;
                        bookSelect.appendChild(option);
                    });
                   
                    chapterSelect.disabled = true;
                    chapterSelect.innerHTML = '<option value="">انتخاب فصل</option>';
                    resetContent();
                } else {
                    bookSelect.disabled = true;
                    bookSelect.innerHTML = '<option value="">انتخاب کتاب</option>';
                    chapterSelect.disabled = true;
                    chapterSelect.innerHTML = '<option value="">انتخاب فصل</option>';
                    resetContent();
                }
            });
            // رویداد تغییر کتاب
            bookSelect.addEventListener('change', function() {
                currentBook = this.value;
               
                if (currentBook !== '') {
                    chapterSelect.disabled = false;
                    chapterSelect.innerHTML = '<option value="">انتخاب فصل</option>';
                   
                    const bookIndex = parseInt(currentBook);
                    const chaptersCount = bibleBooks[currentTestament][bookIndex].chapters;
                   
                    for (let i = 1; i <= chaptersCount; i++) {
                        const option = document.createElement('option');
                        option.value = i;
                        option.textContent = `فصل ${i}`;
                        chapterSelect.appendChild(option);
                    }
                   
                    prevChapterBtn.disabled = true;
                    nextChapterBtn.disabled = true;
                    wikiPageLink.style.display = 'none';
                } else {
                    chapterSelect.disabled = true;
                    chapterSelect.innerHTML = '<option value="">انتخاب فصل</option>';
                    resetContent();
                }
            });
            // رویداد تغییر فصل
            chapterSelect.addEventListener('change', function() {
                currentChapter = parseInt(this.value);
               
                if (currentChapter) {
                    displayChapterWithIframe();
                } else {
                    resetContent();
                }
            });
            // نمایش فصل با iframe و Overlay
            function displayChapterWithIframe() {
                const bookIndex = parseInt(currentBook);
                const bookData = bibleBooks[currentTestament][bookIndex];
                const bookName = bookData.name;
                const bookDisplayName = bookData.displayName;
                const translationName = translations[currentTranslation].name;
               
                chapterTitle.textContent = `${translationName} - ${bookName} - فصل ${currentChapter}`;
               
                // استفاده از الگوی مناسب برای هر ترجمه
                const pageTitle = translations[currentTranslation].getPageTitle(bookDisplayName, currentChapter);
               
                // استفاده از action=render برای نمایش فقط محتوای اصلی
                const contentUrl = `${translations[currentTranslation].baseUrl}${encodeURIComponent(pageTitle)}&action=render`;
                const fullPageUrl = `${translations[currentTranslation].baseUrl}${encodeURIComponent(pageTitle)}`;
               
                // ایجاد iframe با overlay
                versesContainer.innerHTML = `
                    <div class="iframe-wrapper">
                        <iframe
                            id="content-iframe"
                            src="${contentUrl}"
                            class="content-display"
                            frameborder="0"
                            loading="lazy"
                            sandbox="allow-scripts allow-same-origin allow-popups"
                            allowfullscreen>
                        </iframe>
                        <div class="iframe-overlay" id="iframe-overlay">
                            <div class="overlay-message">برای باز کردن صفحه کامل کلیک کنید</div>
                        </div>
                    </div>
                `;
               
                // اضافه کردن event listener برای overlay
                const overlay = document.getElementById('iframe-overlay');
                overlay.addEventListener('click', function() {
                    window.open(fullPageUrl, '_blank');
                });
               
                // لینک صفحه کامل برای باز کردن در تب جدید
                wikiPageLink.href = fullPageUrl;
                wikiPageLink.style.display = 'flex';
                updateNavigationButtons();
            }
            function updateNavigationButtons() {
                const bookIndex = parseInt(currentBook);
                const chaptersCount = bibleBooks[currentTestament][bookIndex].chapters;
               
                prevChapterBtn.disabled = currentChapter <= 1;
                nextChapterBtn.disabled = currentChapter >= chaptersCount;
            }


            prevChapterBtn.addEventListener('click', function() {
                if (currentChapter > 1) {
                    currentChapter--;
                    chapterSelect.value = currentChapter;
                    displayChapterWithIframe();
                }
            });


<!DOCTYPE html>
            nextChapterBtn.addEventListener('click', function() {
<html lang="fa" dir="rtl">
                const bookIndex = parseInt(currentBook);
<head>
                const chaptersCount = bibleBooks[currentTestament][bookIndex].chapters;
    <meta charset="UTF-8">
               
    <title>راه حل مدیاویکی</title>
                if (currentChapter < chaptersCount) {
</head>
                    currentChapter++;
<body>
                    chapterSelect.value = currentChapter;
    <h1>راه حل مستقیم برای مدیاویکی</h1>
                    displayChapterWithIframe();
   
                }
    <!-- استفاده مستقیم از iframe با sandbox -->
            });
    <iframe
        src="https://www.pediabible.com/index.php?title=پیدایش_فصل_1&action=render"
        sandbox="allow-scripts allow-same-origin allow-popups"
        width="100%"
        height="500"
        style="border: 1px solid #ccc;">
    </iframe>
   
    <p>لینک‌ها باید در پنجره جدید باز شوند به دلیل وجود `allow-popups` در sandbox</p>
</body>
</html>


            function resetContent() {
                chapterTitle.textContent = 'لطفاً ترجمه، کتاب و فصل مورد نظر را انتخاب کنید';
                versesContainer.innerHTML = `
                    <div class="instructions">
                        <div class="placeholder">
                            <i class="fas fa-book-open"></i>
                            <p>برای مطالعه کتاب مقدس، لطفاً ابتدا ترجمه، سپس عهد، کتاب و فصل مورد نظر خود را انتخاب کنید.</p>
                        </div>
                    </div>
                `;
                prevChapterBtn.disabled = true;
                nextChapterBtn.disabled = true;
                wikiPageLink.style.display = 'none';
            }


            function resetAll() {
                testamentSelect.disabled = true;
                testamentSelect.innerHTML = '<option value="">انتخاب عهد</option>';
                bookSelect.disabled = true;
                bookSelect.innerHTML = '<option value="">انتخاب کتاب</option>';
                chapterSelect.disabled = true;
                chapterSelect.innerHTML = '<option value="">انتخاب فصل</option>';
                resetContent();
            }


<!DOCTYPE html>
            console.log('✅ برنامه کتاب مقدس روی دامنه مجاز بارگذاری شد');
<html lang="fa" dir="rtl">
<head>
    <meta charset="UTF-8">
    <title>راه حل نهایی برای مدیاویکی</title>
    <style>
        body { font-family: Tahoma; padding: 20px; }
        .iframe-wrapper { position: relative; width: 100%; height: 500px; }
        iframe { width: 100%; height: 100%; border: 1px solid #3498db; }
        .overlay {
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 100%;
            cursor: pointer;
            z-index: 10;
         }
         }
    </style>
</head>
<body>
    <h1>راه حل با Overlay برای مدیاویکی</h1>
   
    <div class="iframe-wrapper">
        <iframe
            id="bibleIframe"
            src="https://www.pediabible.com/index.php?title=پیدایش_فصل_1&action=render"
            sandbox="allow-scripts allow-same-origin allow-popups">
        </iframe>
        <div class="overlay" onclick="openFullPage()"></div>
    </div>
   
    <p>روی iframe کلیک کنید تا صفحه کامل در تب جدید باز شود</p>


    <script>
        // 🔒 شروع برنامه با بررسی امنیتی
         function openFullPage() {
         document.addEventListener('DOMContentLoaded', function() {
             // باز کردن صفحه اصلی در تب جدید
             console.log('🚀 شروع بارگذاری با بررسی امنیتی...');
            window.open('https://www.pediabible.com/index.php?title=پیدایش_فصل_1', '_blank');
            loadApplication();
         }
         });
       
 
         // روش جایگزین: باز کردن خود iframe در تب جدید هنگام کلیک
         // 🔒 جلوگیری از دسترسی به توابع از کنسول
         document.querySelector('.overlay').addEventListener('click', function() {
         Object.defineProperty(window, 'translations', {
             const iframe = document.getElementById('bibleIframe');
             value: null,
             window.open(iframe.src, '_blank');
             writable: false,
            configurable: false
         });
         });
     </script>
     </script>
</body>
</body>
</html>
</html>

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

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

کتاب مقدس

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