پرش به محتوا

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

از دانشنامه کتاب مقدس
بدون خلاصۀ ویرایش
بدون خلاصۀ ویرایش
 
(۸ نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد)
خط ۱: خط ۱:
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<html lang="fa" dir="rtl">
<head>
<head>
خط ۵: خط ۴:
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>کتابخانه انتشارات دانشنامه کتاب مقدس</title>
     <title>کتابخانه انتشارات دانشنامه کتاب مقدس</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
     <style>
     <style>
         * {
         * {
خط ۲۳: خط ۲۳:
             margin: 0 auto;
             margin: 0 auto;
             background: white;
             background: white;
            padding: 0;
         }
         }
          
          
خط ۳۰: خط ۲۹:
             color: white;
             color: white;
             padding: 20px 15px;
             padding: 20px 15px;
            margin-bottom: 15px;
             text-align: center;
             text-align: center;
         }
         }
خط ۴۴: خط ۴۲:
             font-size: 13px;
             font-size: 13px;
             margin-top: 8px;
             margin-top: 8px;
            line-height: 1.5;
         }
         }
          
          
خط ۶۵: خط ۶۲:
             text-align: justify;
             text-align: justify;
             font-size: 14px;
             font-size: 14px;
            line-height: 1.8;
         }
         }
          
          
خط ۹۱: خط ۸۷:
             font-size: 13px;
             font-size: 13px;
             color: #666;
             color: #666;
            margin: 0;
         }
         }
          
          
خط ۱۰۴: خط ۹۹:
             display: flex;
             display: flex;
             gap: 10px;
             gap: 10px;
            margin-bottom: 0;
         }
         }
          
          
خط ۱۲۸: خط ۱۲۲:
             background: white;
             background: white;
             cursor: pointer;
             cursor: pointer;
            transition: all 0.3s ease;
            border: 1px solid #e9ecef;
         }
         }
          
          
        select:focus {
            outline: none;
            border-color: #3e6f73;
            box-shadow: 0 0 0 2px rgba(62, 111, 115, 0.1);
        }
       
        /* استایل برای لیست کشویی با قابلیت جستجو */
         .searchable-select {
         .searchable-select {
             position: relative;
             position: relative;
خط ۱۵۱: خط ۱۳۶:
             background: white;
             background: white;
             cursor: pointer;
             cursor: pointer;
            transition: all 0.3s ease;
            border: 1px solid #e9ecef;
             text-align: right;
             text-align: right;
             position: relative;
             position: relative;
خط ۱۷۵: خط ۱۵۸:
             border: 1px solid #ced4da;
             border: 1px solid #ced4da;
             border-radius: 6px;
             border-radius: 6px;
             max-height: 300px;
             max-height: 400px;
             overflow-y: auto;
             overflow-y: auto;
             z-index: 1000;
             z-index: 1000;
خط ۱۸۸: خط ۱۷۱:
             position: sticky;
             position: sticky;
             top: 0;
             top: 0;
            z-index: 1001;
         }
         }
          
          
خط ۱۹۷: خط ۱۷۹:
             border-radius: 4px;
             border-radius: 4px;
             font-size: 13px;
             font-size: 13px;
        }
       
        .search-input:focus {
            outline: none;
            border-color: #3e6f73;
         }
         }
          
          
         .options-container {
         .options-container {
             max-height: 250px;
             max-height: 300px;
             overflow-y: auto;
             overflow-y: auto;
         }
         }
خط ۲۱۴: خط ۱۹۱:
             border-bottom: 1px solid #f1f1f1;
             border-bottom: 1px solid #f1f1f1;
             font-size: 13px;
             font-size: 13px;
            transition: background-color 0.2s ease;
         }
         }
          
          
خط ۲۳۳: خط ۲۰۹:
             text-align: center;
             text-align: center;
             padding: 15px;
             padding: 15px;
        }
       
        .pagination {
            display: flex;
            justify-content: center;
            margin-top: 10px;
            gap: 5px;
        }
       
        .pagination button {
            padding: 5px 10px;
            border: 1px solid #dee2e6;
            background: white;
            cursor: pointer;
            border-radius: 4px;
        }
       
        .pagination button.active {
            background: #3e6f73;
            color: white;
         }
         }
          
          
خط ۲۵۸: خط ۲۱۴:
             margin: 0 15px;
             margin: 0 15px;
             border: 1px solid #dee2e6;
             border: 1px solid #dee2e6;
            border-radius: 0;
             overflow: hidden;
             overflow: hidden;
             background: white;
             background: white;
             height: 500px;
             height: 500px;
            min-height: 500px;
         }
         }
       
 
         .content-header {
         .content-header {
             padding: 12px 15px;
             padding: 12px 15px;
خط ۲۹۲: خط ۲۴۶:
             cursor: pointer;
             cursor: pointer;
             font-size: 12px;
             font-size: 12px;
            transition: all 0.3s ease;
             display: flex;
             display: flex;
             align-items: center;
             align-items: center;
             gap: 4px;
             gap: 4px;
            font-weight: 600;
            color: #495057;
        }
       
        .control-btn:hover {
            background: #3e6f73;
            color: white;
            border-color: #3e6f73;
         }
         }
          
          
خط ۳۴۸: خط ۲۹۳:
             padding: 10px 15px;
             padding: 10px 15px;
             border-radius: 4px;
             border-radius: 4px;
            border: none;
            cursor: pointer;
             font-size: 13px;
             font-size: 13px;
             text-align: center;
             text-align: center;
خط ۳۵۷: خط ۳۰۰:
             justify-content: center;
             justify-content: center;
             gap: 6px;
             gap: 6px;
            transition: all 0.3s ease;
         }
         }
          
          
خط ۳۶۶: خط ۳۰۸:
         .view-link {
         .view-link {
             background: #4a7c59;
             background: #4a7c59;
        }
       
        .wiki-link:hover, .site-link:hover, .view-link:hover {
            opacity: 0.9;
            transform: translateY(-1px);
         }
         }
          
          
خط ۳۸۱: خط ۳۱۸:
             top: 0;
             top: 0;
             right: 0;
             right: 0;
        }
       
        .performance-info {
            background: #e7f3ff;
            border: 1px solid #b3d9ff;
            border-radius: 4px;
            padding: 10px;
            margin: 10px 15px;
            font-size: 12px;
            color: #0066cc;
         }
         }
          
          
خط ۴۲۶: خط ۳۵۳:
     <div class="container">
     <div class="container">
         <header class="header">
         <header class="header">
             <h1>کتابخانه دانشنامه کتاب مقدس - نسخه بهینه‌شده</h1>
             <h1>کتابخانه دانشنامه کتاب مقدس</h1>
             <p class="description">مطالعه آنلاین کتاب‌ها و مقالات مسیحی - بهینه‌شده برای حجم بالای داده</p>
             <p class="description">مطالعه آنلاین کتاب‌ها و مقالات مسیحی</p>
         </header>
         </header>
        <div class="performance-info">
            <i class="fas fa-info-circle"></i> این نسخه برای مدیریت 1000+ مقاله و کتاب بهینه‌سازی شده است
        </div>


         <section class="seo-content">
         <section class="seo-content">
             <h2>کتابخانه جامع منابع مسیحی - نسخه بهینه</h2>
             <h2>کتابخانه جامع منابع مسیحی</h2>
             <p>این نسخه از کتابخانه برای مدیریت حجم بالای داده (1000+ مقاله و کتاب) بهینه‌سازی شده و از تکنیک‌های پیشرفته برای حفظ عملکرد استفاده می‌کند.</p>
             <p>کتابخانهٔ دانشنامهٔ کتاب مقدس مرجع کامل و تخصصی برای مطالعهٔ آنلاین کتاب‌ها و مقالات مسیحی است.</p>
              
              
             <div class="content-list">
             <div class="content-list">
                 <div class="content-item">
                 <div class="content-item">
                     <h3>بهینه‌سازی عملکرد</h3>
                     <h3>کتاب‌ها</h3>
                     <p>استفاده از صفحه‌بندی (Pagination) برای نمایش داده‌ها - جستجوی سمت سرور - بارگذاری تدریجی محتوا</p>
                     <p>انتشار همهٔ کتاب‌ها در دانشنامه با اجازهٔ رسمی نویسندگان یا ناشران انجام شده است، و برای برخی آثار، مجوز چاپ مجدد نیز دریافت گردیده است. تمامی حقوق برای انتشارات دانشنامهٔ کتاب مقدس محفوظ است.
نویسندگان و ناشران مسیحی می‌توانند برای همکاری و انتشار آثار خود با ما در ارتباط باشند.</p>
                 </div>
                 </div>
                 <div class="content-item">
                 <div class="content-item">
                     <h3>مدیریت حافظه</h3>
                     <h3>مقالات</h3>
                     <p>بارگذاری داده‌ها به صورت تدریجی - پاک کردن حافظه کش - بهینه‌سازی الگوریتم‌های جستجو</p>
                     <p>مقالات دانشنامه با اجازهٔ نویسندگان یا بر اساس منابع عمومی و بدون حق کپی‌رایت منتشر می‌شوند. در همهٔ موارد، اصول امانت‌داری و احترام به منبع اصلی رعایت شده است.
پژوهشگران و نویسندگان مسیحی می‌توانند برای انتشار مقالات خود با ما همکاری کنند</p>
                 </div>
                 </div>
                 <div class="content-item">
                 <div class="content-item">
                     <h3>تجربه کاربری</h3>
                     <h3>فروشگاه کتاب</h3>
                     <p>حفظ سرعت بالا حتی با حجم داده زیاد - نمایش وضعیت بارگذاری - مدیریت خطاهای احتمالی</p>
                     <p>در فروشگاه کتاب دانشنامه، امکان خرید کتاب‌های چاپی و الکترونیکی فراهم شده است.</p>
                 </div>
                 </div>
             </div>
             </div>
         </section>
         </section>


         <section class="filter-section" aria-label="فیلترهای جستجو">
         <section class="filter-section">
             <div class="filter-row">
             <div class="filter-row">
                 <div class="form-group">
                 <div class="form-group">
خط ۴۶۰: خط ۳۸۵:
                     <select id="categorySelect">
                     <select id="categorySelect">
                         <option value="">لطفاً دسته‌بندی انتخاب کنید</option>
                         <option value="">لطفاً دسته‌بندی انتخاب کنید</option>
                         <option value="کتاب">کتاب (450 عنوان)</option>
                         <option value="کتاب">کتاب</option>
                         <option value="مقاله">مقاله (680 عنوان)</option>
                         <option value="مقاله">مقاله</option>
                         <option value="فروشگاه کتاب">فروشگاه کتاب (120 عنوان)</option>
                         <option value="فروشگاه کتاب">فروشگاه کتاب</option>
                     </select>
                     </select>
                 </div>
                 </div>
                  
                  
                 <div class="form-group">
                 <div class="form-group">
                     <label for="contentSelect"><i class="fas fa-book-open"></i> جستجوی پیشرفته:</label>
                     <label for="contentSelect"><i class="fas fa-book-open"></i> انتخاب محتوا:</label>
                     <div class="searchable-select">
                     <div class="searchable-select">
                         <div class="select-display" id="selectDisplay">برای جستجو ابتدا دسته‌بندی انتخاب کنید</div>
                         <div class="select-display" id="selectDisplay">لطفاً دسته‌بندی انتخاب کنید</div>
                         <div class="options-list" id="optionsList">
                         <div class="options-list" id="optionsList">
                             <div class="search-box">
                             <div class="search-box">
خط ۴۷۵: خط ۴۰۰:
                             </div>
                             </div>
                             <div class="options-container" id="optionsContainer">
                             <div class="options-container" id="optionsContainer">
                                 <div class="no-results">لطفاً در کادر بالا جستجو کنید</div>
                                 <div class="no-results">لطفاً ابتدا یک دسته‌بندی انتخاب کنید</div>
                            </div>
                            <div class="pagination" id="paginationContainer" style="display: none;">
                                <!-- Pagination buttons will be added here -->
                             </div>
                             </div>
                         </div>
                         </div>
خط ۴۸۷: خط ۴۰۹:
         </section>
         </section>
          
          
         <section class="content-frame" aria-label="محتوای مطالعه">
         <section class="content-frame">
             <div class="content-header">
             <div class="content-header">
                 <div class="content-title" id="contentTitle">هیچ محتوایی انتخاب نشده است</div>
                 <div class="content-title" id="contentTitle">هیچ محتوایی انتخاب نشده است</div>
خط ۵۲۴: خط ۴۴۶:


     <script>
     <script>
         // تنظیمات بهینه‌سازی
         // داده‌های واقعی
         const ITEMS_PER_PAGE = 20; // تعداد آیتم در هر صفحه
         const booksData = {
        let currentPage = 1;
            'کتاب': [
        let totalPages = 1;
                { value: 'کتاب_مسیحیت_در_ایران_تا_صدر_اسلام', text: 'کتاب مسیحیت در ایران تا صدر اسلام' },
        let currentItems = [];
                { value: '...', text: 'بزودی' },
        let currentCategory = '';
                { value: '...', text: 'بزودی' }
        let currentSearchTerm = '';
            ],
 
            'مقاله': [
        // شبیه‌سازی داده‌های حجیم
                 { value: 'مقاله_۸_تفاوت_کلیدی_بین_کاتولیک‌ها_و_پروتستان‌ها_نویسنده', text: 'مقاله: ۸ تفاوت کلیدی بین کاتولیک‌ها و پروتستان‌ها' },
        function generateLargeDataset() {
                { value: 'مقاله_برادران،_ما_تحلیل%E2%80%8Cگران_سیاسی_نیستیم', text: 'مقاله: برادران، ما تحلیل‌گران سیاسی نیستیم' },
            const categories = {
                 { value: 'مقاله_گناه_آدمی_را_نادان_می‌کند', text: 'مقاله: گناه آدمی را نادان می‌کند' },
                'کتاب': [],
                { value: 'مقاله_۴_دلیل_که_چرا_کتاب_مقدس_از_تراجنسیتی_بودن_حمایت_نمی%E2%80%8Cکند', text: 'مقاله: ۴ دلیل که چرا کتاب مقدس از تراجنسیتی بودن حمایت نمی‌کند' },
                'مقاله': [],
                 { value: '۱۰_معنای_یهوه', text: 'مقاله: ۱۰ معنای یهوه' },
                 'فروشگاه کتاب': []
                { value: 'تدریس،_آموزش_و_مطالعه', text: 'مقاله: تدریس، آموزش و مطالعه' },
            };
                { value: 'خدمت_به_خدا_یعنی_چه', text: 'مقاله: خدمت به خدا یعنی چه' },
           
                { value: '...', text: 'بزودی' },
            // تولید 450 کتاب
                { value: '...', text: 'بزودی' },
            for (let i = 1; i <= 450; i++) {
                 { value: '...', text: 'بزودی' }
                 categories['کتاب'].push({
             ],
                    value: `کتاب_${i}`,
             'فروشگاه کتاب': [
                    text: `کتاب مسیحی شماره ${i} - موضوعات الاهیاتی`
                { value: 'کتاب_اسلحه_هایی_در_جنگ_علیه_نیروهای_شیطانی', text: 'اسلحه هایی در جنگ علیه نیروهای شیطانی' },
                 });
                { value: 'کتاب_شناخت_عطیه_های_روح_القدس_در_تعلیم_و_عمل', text: 'شناخت عطیه های روح القدس در تعلیم و عمل' },
            }
                 { value: 'کتاب_کشف_عطیه_های_روح_القدس_در_خود', text: 'کشف عطیه های روح القدس در خود' },
           
                { value: 'کتاب_اسلحه_هایی_در_جنگ_علیه_نیروهای_شیطانی', text: 'اسلحه هایی در جنگ علیه نیروهای شیطانی' },
            // تولید 680 مقاله
                { value: 'کتاب_گشودن_وعده_های_ابراهیم', text: 'گشودن وعده های ابراهیم' },
            for (let i = 1; i <= 680; i++) {
                { value: 'کتاب_رهبری_روحانی', text: 'کتاب رهبری روحانی' },
                categories['مقاله'].push({
                { value: 'کتاب_ژنرالهای_خدا', text: 'ژنرال های خدا' },
                    value: `مقاله_${i}`,
                 { value: 'بزودی', text: 'بزودی' },
                    text: `مقاله مسیحی شماره ${i} - مطالعات کتاب مقدس`
                { value: 'بزودی', text: 'بزودی' },
                 });
                { value: 'بزودی', text: 'بزودی' }
             }
             ]
              
         };
            // تولید 120 عنوان در فروشگاه
            for (let i = 1; i <= 120; i++) {
                 categories['فروشگاه کتاب'].push({
                    value: `فروشگاه_${i}`,
                    text: `کتاب قابل خرید شماره ${i} - انتشارات مسیحی`
                 });
            }
           
             return categories;
         }
 
        const largeBooksData = generateLargeDataset();


         // عناصر DOM
         // عناصر DOM
خط ۵۷۵: خط ۴۸۵:
         const optionsList = document.getElementById('optionsList');
         const optionsList = document.getElementById('optionsList');
         const optionsContainer = document.getElementById('optionsContainer');
         const optionsContainer = document.getElementById('optionsContainer');
        const paginationContainer = document.getElementById('paginationContainer');
         const selectedContentValue = document.getElementById('selectedContentValue');
         const selectedContentValue = document.getElementById('selectedContentValue');
         const contentFrame = document.getElementById('contentFrame');
         const contentFrame = document.getElementById('contentFrame');
         const iframePlaceholder = document.getElementById('iframePlaceholder');
         const iframePlaceholder = document.getElementById('iframePlaceholder');
خط ۵۹۰: خط ۵۰۰:
         let currentZoom = 100;
         let currentZoom = 100;
         let currentContent = '';
         let currentContent = '';
        let currentItems = [];


         // وقتی دسته‌بندی تغییر کرد
         // وقتی دسته‌بندی تغییر کرد
خط ۶۰۴: خط ۵۱۵:
             }
             }
              
              
             currentCategory = selectedCategory;
             // فعال کردن نمایش
            currentItems = largeBooksData[selectedCategory];
             selectDisplay.textContent = 'برای مشاهده محتوا کلیک کنید';
            totalPages = Math.ceil(currentItems.length / ITEMS_PER_PAGE);
            currentPage = 1;
           
             selectDisplay.textContent = `آماده برای جستجو در ${currentItems.length} آیتم`;
             selectDisplay.style.color = '#333';
             selectDisplay.style.color = '#333';
             selectedContentValue.value = '';
             selectedContentValue.value = '';
            currentItems = booksData[selectedCategory];
              
              
             resetContent();
             resetContent();
خط ۶۱۸: خط ۵۲۶:
         // وقتی روی نمایش کلیک می‌شود
         // وقتی روی نمایش کلیک می‌شود
         selectDisplay.addEventListener('click', function() {
         selectDisplay.addEventListener('click', function() {
             if (!currentCategory) return;
             if (!categorySelect.value) {
                alert('لطفاً ابتدا یک دسته‌بندی انتخاب کنید');
                categorySelect.focus();
                return;
            }
              
              
             if (optionsList.style.display === 'block') {
             if (optionsList.style.display === 'block') {
خط ۶۲۵: خط ۵۳۷:
                 optionsList.style.display = 'block';
                 optionsList.style.display = 'block';
                 searchInput.value = '';
                 searchInput.value = '';
                 currentSearchTerm = '';
                  
                 showPage(1);
                 // در اینجا تابع populateOptions فراخوانی می‌شود
                populateOptions(currentItems);
               
                 setTimeout(() => {
                 setTimeout(() => {
                     searchInput.focus();
                     searchInput.focus();
خط ۶۳۴: خط ۵۴۸:


         // وقتی کاربر در فیلد جستجو تایپ می‌کند
         // وقتی کاربر در فیلد جستجو تایپ می‌کند
        let searchTimeout;
         searchInput.addEventListener('input', function() {
         searchInput.addEventListener('input', function() {
             clearTimeout(searchTimeout);
             const searchTerm = this.value.toLowerCase();
            currentSearchTerm = this.value.toLowerCase();
             const filteredItems = currentItems.filter(item =>  
              
                 item.text.toLowerCase().includes(searchTerm)
            // استفاده از تایم‌اوت برای بهینه‌سازی جستجو
            );
            searchTimeout = setTimeout(() => {
             populateOptions(filteredItems, searchTerm);
                 currentPage = 1;
                showPage(1);
             }, 300); // تاخیر 300 میلی‌ثانیه برای بهینه‌سازی
         });
         });


         // نمایش صفحه خاص
         // پر کردن لیست گزینه‌ها - این تابع اکنون به درستی فراخوانی می‌شود
         function showPage(page) {
         function populateOptions(itemsList, searchTerm = '') {
            currentPage = page;
             console.log('populateOptions فراخوانی شد با', itemsList.length, 'آیتم');
           
            // فیلتر کردن آیتم‌ها بر اساس جستجو
            let filteredItems = currentItems;
            if (currentSearchTerm) {
                filteredItems = currentItems.filter(item =>
                    item.text.toLowerCase().includes(currentSearchTerm)
                );
            }
           
             totalPages = Math.ceil(filteredItems.length / ITEMS_PER_PAGE);
            if (totalPages === 0) totalPages = 1;
           
            // محاسبه آیتم‌های صفحه جاری
            const startIndex = (page - 1) * ITEMS_PER_PAGE;
            const endIndex = Math.min(startIndex + ITEMS_PER_PAGE, filteredItems.length);
            const pageItems = filteredItems.slice(startIndex, endIndex);
           
            // نمایش آیتم‌ها
            populateOptions(pageItems);
              
              
            // نمایش صفحه‌بندی
            showPagination(filteredItems.length);
        }
        // پر کردن لیست گزینه‌ها
        function populateOptions(itemsList) {
             optionsContainer.innerHTML = '';
             optionsContainer.innerHTML = '';
              
              
خط ۶۸۹: خط ۵۷۴:
                 option.className = 'option-item';
                 option.className = 'option-item';
                  
                  
                 if (currentSearchTerm) {
                 if (searchTerm) {
                     const regex = new RegExp(`(${currentSearchTerm})`, 'gi');
                    // هایلایت کردن متن جستجو شده
                     const regex = new RegExp(`(${searchTerm})`, 'gi');
                     const highlightedText = item.text.replace(regex, '<span class="highlight">$1</span>');
                     const highlightedText = item.text.replace(regex, '<span class="highlight">$1</span>');
                     option.innerHTML = highlightedText;
                     option.innerHTML = highlightedText;
خط ۷۰۳: خط ۵۸۹:
                     optionsList.style.display = 'none';
                     optionsList.style.display = 'none';
                      
                      
                    // نمایش محتوا
                     currentContent = item.value;
                     currentContent = item.value;
                     showContent(item.value, item.text);
                     showContent(item.value, item.text);
خط ۷۰۹: خط ۵۹۶:
                 optionsContainer.appendChild(option);
                 optionsContainer.appendChild(option);
             });
             });
        }
        // نمایش صفحه‌بندی
        function showPagination(totalItems) {
            paginationContainer.innerHTML = '';
           
            if (totalPages <= 1) {
                paginationContainer.style.display = 'none';
                return;
            }
           
            paginationContainer.style.display = 'flex';
           
            // دکمه قبلی
            if (currentPage > 1) {
                const prevButton = document.createElement('button');
                prevButton.innerHTML = '&laquo; قبلی';
                prevButton.addEventListener('click', () => showPage(currentPage - 1));
                paginationContainer.appendChild(prevButton);
            }
           
            // نمایش صفحات
            const startPage = Math.max(1, currentPage - 2);
            const endPage = Math.min(totalPages, currentPage + 2);
           
            for (let i = startPage; i <= endPage; i++) {
                const pageButton = document.createElement('button');
                pageButton.textContent = i;
                if (i === currentPage) {
                    pageButton.classList.add('active');
                }
                pageButton.addEventListener('click', () => showPage(i));
                paginationContainer.appendChild(pageButton);
            }
           
            // دکمه بعدی
            if (currentPage < totalPages) {
                const nextButton = document.createElement('button');
                nextButton.innerHTML = 'بعدی &raquo;';
                nextButton.addEventListener('click', () => showPage(currentPage + 1));
                paginationContainer.appendChild(nextButton);
            }
           
            // اطلاعات صفحه
            const infoText = document.createElement('div');
            infoText.style.marginLeft = '10px';
            infoText.style.fontSize = '12px';
            infoText.style.color = '#6c757d';
            infoText.textContent = `نمایش ${((currentPage-1)*ITEMS_PER_PAGE)+1}-${Math.min(currentPage*ITEMS_PER_PAGE, totalItems)} از ${totalItems}`;
            paginationContainer.appendChild(infoText);
         }
         }


         // نمایش محتوا
         // نمایش محتوا
         function showContent(bookValue, bookText) {
         function showContent(bookValue, bookText) {
            // شبیه‌سازی آدرس‌های واقعی
             const contentUrl = `https://www.pediabible.com/index.php/${bookValue}?action=render`;
             const contentUrl = `https://www.pediabible.com/index.php/${bookValue}?action=render`;
             const wikiUrl = `https://www.pediabible.com/index.php/${bookValue}`;
             const wikiUrl = `https://www.pediabible.com/index.php/${bookValue}`;
خط ۷۷۰: خط ۶۰۶:
             contentTitle.textContent = bookText;
             contentTitle.textContent = bookText;
              
              
             // نمایش وضعیت بارگذاری
             // نمایش loading
             contentFrame.style.display = 'none';
             contentFrame.style.display = 'none';
             iframePlaceholder.style.display = 'flex';
             iframePlaceholder.style.display = 'flex';
خط ۷۷۷: خط ۶۱۳:
                     <i class="fas fa-spinner fa-spin" style="font-size: 1.5rem; color: #3e6f73; margin-bottom: 10px;"></i>
                     <i class="fas fa-spinner fa-spin" style="font-size: 1.5rem; color: #3e6f73; margin-bottom: 10px;"></i>
                     <p>در حال بارگذاری "${bookText}"...</p>
                     <p>در حال بارگذاری "${bookText}"...</p>
                    <p style="font-size: 12px; color: #6c757d; margin-top: 5px;">این ممکن است چند ثانیه طول بکشد</p>
                 </div>
                 </div>
             `;
             `;
خط ۷۸۴: خط ۶۱۹:
             let progress = 0;
             let progress = 0;
             const progressInterval = setInterval(() => {
             const progressInterval = setInterval(() => {
                 progress += Math.random() * 10;
                 progress += Math.random() * 15;
                 if (progress > 80) progress = 80;
                 if (progress > 90) progress = 90;
                 loadingBar.style.width = `${progress}%`;
                 loadingBar.style.width = `${progress}%`;
             }, 200);
             }, 200);
              
              
             // شبیه‌سازی بارگذاری محتوا
             // بارگذاری محتوا
             setTimeout(() => {
             contentFrame.src = contentUrl;
           
            contentFrame.onload = function() {
                 clearInterval(progressInterval);
                 clearInterval(progressInterval);
                 loadingBar.style.width = '100%';
                 loadingBar.style.width = '100%';
خط ۷۹۷: خط ۶۳۴:
                 }, 500);
                 }, 500);
                  
                  
                // در واقعیت اینجا محتوا بارگذاری می‌شود
                 contentFrame.style.display = 'block';
                 contentFrame.style.display = 'block';
                 iframePlaceholder.style.display = 'none';
                 iframePlaceholder.style.display = 'none';
                 applyZoom();
                 applyZoom();
                  
            };
                 // نمایش پیام نمونه
           
                 contentFrame.contentDocument.write(`
            contentFrame.onerror = function() {
                    <html dir="rtl">
                 clearInterval(progressInterval);
                     <head><title>${bookText}</title></head>
                 loadingBar.style.width = '0%';
                    <body style="padding: 20px; font-family: Tahoma;">
                 iframePlaceholder.style.display = 'flex';
                        <h1>${bookText}</h1>
                iframePlaceholder.innerHTML = `
                         <p>این یک نمایش نمونه از محتوای "${bookText}" است.</p>
                     <div>
                        <p>در نسخه واقعی، محتوای کامل اینجا نمایش داده می‌شود.</p>
                        <i class="fas fa-exclamation-triangle" style="font-size: 1.5rem; color: #dc3545; margin-bottom: 10px;"></i>
                        <hr>
                         <p>خطا در بارگذاری "${bookText}". لطفاً دوباره تلاش کنید.</p>
                        <p><small>این یک شبیه‌سازی برای نمایش عملکرد سیستم است.</small></p>
                     </div>
                     </body>
                 `;
                    </html>
                 contentFrame.style.display = 'none';
                 `);
             };
                 contentFrame.contentDocument.close();
             }, 1500);
              
              
             // به‌روزرسانی لینک‌ها
             // به‌روزرسانی لینک‌ها
خط ۸۸۷: خط ۷۲۱:
             }
             }
         });
         });
        // لاگ برای دیباگ
        console.log('سیستم بارگذاری شد. حالا می‌توانید تست کنید:');
        console.log('1. یک دسته‌بندی انتخاب کنید');
        console.log('2. روی "برای مشاهده محتوا کلیک کنید" کلیک کنید');
        console.log('3. لیست محتواها نمایش داده می‌شود');
     </script>
     </script>
   
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
</body>
</body>
</html>
</html>

نسخهٔ کنونی تا ‏۱۶ اکتبر ۲۰۲۵، ساعت ۱۷:۵۶

کتابخانه انتشارات دانشنامه کتاب مقدس

کتابخانه دانشنامه کتاب مقدس

مطالعه آنلاین کتاب‌ها و مقالات مسیحی

کتابخانه جامع منابع مسیحی

کتابخانهٔ دانشنامهٔ کتاب مقدس مرجع کامل و تخصصی برای مطالعهٔ آنلاین کتاب‌ها و مقالات مسیحی است.

کتاب‌ها

انتشار همهٔ کتاب‌ها در دانشنامه با اجازهٔ رسمی نویسندگان یا ناشران انجام شده است، و برای برخی آثار، مجوز چاپ مجدد نیز دریافت گردیده است. تمامی حقوق برای انتشارات دانشنامهٔ کتاب مقدس محفوظ است. نویسندگان و ناشران مسیحی می‌توانند برای همکاری و انتشار آثار خود با ما در ارتباط باشند.

مقالات

مقالات دانشنامه با اجازهٔ نویسندگان یا بر اساس منابع عمومی و بدون حق کپی‌رایت منتشر می‌شوند. در همهٔ موارد، اصول امانت‌داری و احترام به منبع اصلی رعایت شده است. پژوهشگران و نویسندگان مسیحی می‌توانند برای انتشار مقالات خود با ما همکاری کنند

فروشگاه کتاب

در فروشگاه کتاب دانشنامه، امکان خرید کتاب‌های چاپی و الکترونیکی فراهم شده است.

لطفاً دسته‌بندی انتخاب کنید
لطفاً ابتدا یک دسته‌بندی انتخاب کنید
هیچ محتوایی انتخاب نشده است

لطفاً یک کتاب یا مقاله از لیست انتخاب کنید