کتابخانه دانشنامه کتاب مقدس: تفاوت میان نسخهها
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
(۳۸ نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد) | |||
خط ۱: | خط ۱: | ||
<html lang="fa" dir="rtl"> | <html lang="fa" dir="rtl"> | ||
<head> | <head> | ||
<meta charset="UTF-8"> | <meta charset="UTF-8"> | ||
<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> | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | ||
<style> | <style> | ||
* { | * { | ||
margin: 0; | margin: 0; | ||
خط ۲۶: | خط ۱۳: | ||
body { | body { | ||
font-family: | font-family: Tahoma, Arial, sans-serif; | ||
background: | background-color: #f6f6f6; | ||
color: | color: #333; | ||
line-height: 1.6; | line-height: 1.6; | ||
} | } | ||
خط ۳۶: | خط ۲۲: | ||
max-width: 1200px; | max-width: 1200px; | ||
margin: 0 auto; | margin: 0 auto; | ||
background: white; | |||
} | } | ||
. | .header { | ||
background: linear-gradient(135deg, #3e6f73, #4a7c59); | |||
color: white; | |||
padding: 20px 15px; | |||
text-align: center; | text-align: center; | ||
} | } | ||
h1 { | |||
margin: 0; | |||
font-size: 22px; | |||
font-weight: 700; | |||
} | } | ||
. | .description { | ||
color: rgba(255,255,255,0.9); | |||
font-size: 13px; | |||
margin-top: 8px; | |||
color: rgba(255,255,255,0. | |||
} | } | ||
. | .seo-content { | ||
background: #fff; | |||
padding: 20px 15px; | |||
margin: 0 15px 15px; | |||
border-radius: 8px; | |||
border: 1px solid #e9ecef; | |||
} | } | ||
. | .seo-content h2 { | ||
color: | color: #3e6f73; | ||
margin-bottom: 15px; | |||
font-size: 18px; | |||
} | } | ||
. | .seo-content p { | ||
margin-bottom: 15px; | margin-bottom: 15px; | ||
font-size: | text-align: justify; | ||
font-size: 14px; | |||
} | |||
.content-list { | |||
display: grid; | |||
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | |||
gap: 15px; | |||
margin-top: 15px; | |||
} | |||
.content-item { | |||
background: #f8f9fa; | |||
padding: 15px; | |||
border-radius: 6px; | |||
border-left: 4px solid #3e6f73; | |||
} | } | ||
. | .content-item h3 { | ||
color: #3e6f73; | |||
margin-bottom: 8px; | |||
font-size: 15px; | |||
} | } | ||
. | .content-item p { | ||
font-size: 13px; | |||
color: #666; | |||
} | } | ||
. | .filter-section { | ||
margin: 0 15px 15px; | |||
background: #f8f9fa; | |||
padding: 15px; | padding: 15px; | ||
border: 1px solid | border: 1px solid #dee2e6; | ||
} | } | ||
. | .filter-row { | ||
display: flex; | |||
gap: 10px; | |||
} | |||
.form-group { | |||
flex: 1; | |||
position: relative; | |||
} | |||
label { | |||
display: block; | |||
margin-bottom: 6px; | |||
font-weight: 600; | |||
color: #495057; | |||
font-size: 13px; | |||
} | } | ||
select { | select { | ||
width: 100%; | width: 100%; | ||
padding: 12px | padding: 10px 12px; | ||
border: 1px solid | border: 1px solid #ced4da; | ||
border-radius: 6px; | border-radius: 6px; | ||
font-size: 13px; | |||
font-size: | background: white; | ||
cursor: pointer; | cursor: pointer; | ||
} | } | ||
select | .searchable-select { | ||
position: relative; | |||
} | } | ||
. | .select-display { | ||
width: 100%; | |||
padding: 10px 12px; | |||
border: 1px solid #ced4da; | |||
border-radius: 6px; | |||
font-size: 13px; | |||
background: white; | background: white; | ||
cursor: pointer; | |||
text-align: right; | text-align: right; | ||
position: relative; | |||
} | } | ||
. | .select-display:after { | ||
content: "▼"; | |||
position: absolute; | |||
left: 12px; | |||
font-size: | top: 50%; | ||
transform: translateY(-50%); | |||
font-size: 10px; | |||
color: #6c757d; | |||
} | } | ||
. | .options-list { | ||
position: absolute; | |||
top: 100%; | |||
left: 0; | |||
right: 0; | |||
background: white; | background: white; | ||
border: 1px solid #ced4da; | |||
max-height: | border-radius: 6px; | ||
max-height: 400px; | |||
overflow-y: auto; | overflow-y: auto; | ||
z-index: 1000; | |||
display: none; | |||
box-shadow: 0 4px 12px rgba(0,0,0,0.1); | |||
} | } | ||
. | .search-box { | ||
padding: 10px; | |||
border-bottom: 1px solid #e9ecef; | |||
background: #f8f9fa; | |||
position: sticky; | |||
top: 0; | |||
} | } | ||
. | .search-input { | ||
width: 100%; | |||
padding: 8px 12px; | |||
border: 1px solid #ced4da; | |||
border-radius: 4px; | |||
font-size: 13px; | |||
} | } | ||
. | .options-container { | ||
max-height: 300px; | |||
overflow-y: auto; | |||
} | } | ||
. | .option-item { | ||
padding: 10px 12px; | |||
border- | cursor: pointer; | ||
border-bottom: 1px solid #f1f1f1; | |||
font-size: 13px; | |||
} | } | ||
. | .option-item:hover { | ||
background: #f0f8f0; | |||
} | } | ||
. | .highlight { | ||
padding: | background: #fff3cd; | ||
font-weight: bold; | |||
padding: 1px 2px; | |||
border-radius: 2px; | |||
} | } | ||
. | .no-results { | ||
color: #6c757d; | |||
font-style: italic; | |||
text-align: center; | |||
padding: 15px; | |||
} | } | ||
. | .content-frame { | ||
margin: 0 15px; | |||
border: 1px solid #dee2e6; | |||
overflow: hidden; | |||
background: white; | |||
height: 500px; | |||
} | |||
.content-header { | |||
padding: 12px 15px; | |||
background: #f8f9fa; | |||
border-bottom: 1px solid #dee2e6; | |||
display: flex; | display: flex; | ||
justify-content: space-between; | justify-content: space-between; | ||
align-items: center; | align-items: center; | ||
} | } | ||
. | .content-title { | ||
font-weight: 600; | |||
color: #3e6f73; | |||
font-size: 14px; | |||
border: | } | ||
border-radius: 6px; | |||
.content-controls { | |||
display: flex; | |||
gap: 8px; | |||
} | |||
.control-btn { | |||
background: white; | |||
border: 1px solid #dee2e6; | |||
border-radius: 4px; | |||
padding: 6px 12px; | |||
cursor: pointer; | cursor: pointer; | ||
font-size: 12px; | |||
font-size: | |||
display: flex; | display: flex; | ||
align-items: center; | align-items: center; | ||
gap: | gap: 4px; | ||
} | } | ||
. | .iframe-container { | ||
width: 100%; | |||
height: calc(100% - 50px); | |||
position: relative; | |||
} | } | ||
. | .clean-frame { | ||
width: 100%; | |||
height: 100%; | |||
border: none; | |||
background: white; | |||
} | } | ||
. | .iframe-placeholder { | ||
display: | display: flex; | ||
align-items: center; | align-items: center; | ||
justify-content: center; | justify-content: center; | ||
height: 100%; | |||
color: #6c757d; | |||
font-size: 14px; | |||
text-align: center; | |||
padding: 20px; | |||
background: white; | |||
} | |||
.action-buttons { | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
padding: 12px 15px; | |||
background-color: #f8f9fa; | |||
border-top: 1px solid #dee2e6; | |||
gap: 8px; | gap: 8px; | ||
} | |||
background | |||
color: | .wiki-link, .site-link, .view-link { | ||
background: #3e6f73; | |||
color: white; | |||
text-decoration: none; | text-decoration: none; | ||
font-weight: 600; | |||
padding: 10px 15px; | |||
font- | border-radius: 4px; | ||
font-size: 13px; | |||
text-align: center; | text-align: center; | ||
flex: 1; | |||
display: flex; | display: flex; | ||
align-items: center; | align-items: center; | ||
justify-content: center; | justify-content: center; | ||
gap: 6px; | |||
} | } | ||
. | .site-link { | ||
background: #6c757d; | |||
} | } | ||
. | .view-link { | ||
background: #4a7c59; | |||
} | } | ||
.loading | .loading-bar { | ||
height: 2px; | |||
background: linear-gradient(90deg, #8fb996, #3e6f73); | |||
width: 0%; | |||
transition: width 0.4s ease; | |||
position: absolute; | |||
top: 0; | |||
right: 0; | |||
} | } | ||
@media (max-width: 768px) { | @media (max-width: 768px) { | ||
. | .filter-row { | ||
flex-direction: column; | |||
} | } | ||
.content- | .content-frame { | ||
height: 400px; | |||
} | } | ||
. | .action-buttons { | ||
flex-direction: column; | flex-direction: column; | ||
} | } | ||
. | .wiki-link, .site-link, .view-link { | ||
width: 100%; | width: 100%; | ||
justify-content: | } | ||
.content-header { | |||
flex-direction: column; | |||
gap: 8px; | |||
align-items: flex-start; | |||
} | |||
.content-controls { | |||
width: 100%; | |||
justify-content: space-between; | |||
} | } | ||
} | } | ||
خط ۳۵۱: | خط ۳۵۲: | ||
<body> | <body> | ||
<div class="container"> | <div class="container"> | ||
< | <header class="header"> | ||
< | <h1>کتابخانه دانشنامه کتاب مقدس</h1> | ||
<p class="description">مطالعه آنلاین کتابها و مقالات مسیحی</p> | |||
</header> | |||
< | <section class="seo-content"> | ||
<h2>کتابخانه جامع منابع مسیحی</h2> | |||
<p | <p>کتابخانهٔ دانشنامهٔ کتاب مقدس مرجع کامل و تخصصی برای مطالعهٔ آنلاین کتابها و مقالات مسیحی است.</p> | ||
<div class="content-list"> | |||
<div class="content-item"> | |||
<h3>کتابها</h3> | |||
<p>انتشار همهٔ کتابها در دانشنامه با اجازهٔ رسمی نویسندگان یا ناشران انجام شده است، و برای برخی آثار، مجوز چاپ مجدد نیز دریافت گردیده است. تمامی حقوق برای انتشارات دانشنامهٔ کتاب مقدس محفوظ است. | |||
نویسندگان و ناشران مسیحی میتوانند برای همکاری و انتشار آثار خود با ما در ارتباط باشند.</p> | |||
< | </div> | ||
< | <div class="content-item"> | ||
< | <h3>مقالات</h3> | ||
<p>مقالات دانشنامه با اجازهٔ نویسندگان یا بر اساس منابع عمومی و بدون حق کپیرایت منتشر میشوند. در همهٔ موارد، اصول امانتداری و احترام به منبع اصلی رعایت شده است. | |||
< | پژوهشگران و نویسندگان مسیحی میتوانند برای انتشار مقالات خود با ما همکاری کنند</p> | ||
</ | </div> | ||
<div class="content-item"> | |||
<h3>فروشگاه کتاب</h3> | |||
<p>در فروشگاه کتاب دانشنامه، امکان خرید کتابهای چاپی و الکترونیکی فراهم شده است.</p> | |||
</div> | |||
</div> | </div> | ||
</section> | |||
<div class=" | |||
< | <section class="filter-section"> | ||
<div class="filter-row"> | |||
<div class="form-group"> | |||
</select> | <label for="categorySelect"><i class="fas fa-folder"></i> دستهبندی:</label> | ||
<select id="categorySelect"> | |||
<option value="">لطفاً دستهبندی انتخاب کنید</option> | |||
<option value="کتاب">کتاب</option> | |||
<option value="مقاله">مقاله</option> | |||
<option value="فروشگاه کتاب">فروشگاه کتاب</option> | |||
</select> | |||
</div> | |||
<div class="form-group"> | |||
<label for="contentSelect"><i class="fas fa-book-open"></i> انتخاب محتوا:</label> | |||
<div class="searchable-select"> | |||
<div class="select-display" id="selectDisplay">لطفاً دستهبندی انتخاب کنید</div> | |||
<div class="options-list" id="optionsList"> | |||
<div class="search-box"> | |||
<input type="text" class="search-input" id="searchInput" placeholder="جستجو در محتواها..."> | |||
</div> | |||
<div class="options-container" id="optionsContainer"> | |||
<div class="no-results">لطفاً ابتدا یک دستهبندی انتخاب کنید</div> | |||
</div> | |||
</div> | |||
</div> | |||
<input type="hidden" id="selectedContentValue"> | |||
</div> | |||
</div> | </div> | ||
</ | </section> | ||
<div class=" | <section class="content-frame"> | ||
<div class="content-header"> | |||
<div class="content-title" id="contentTitle">هیچ محتوایی انتخاب نشده است</div> | |||
<div id=" | <div class="content-controls"> | ||
<button class="control-btn" id="zoomOut"><i class="fas fa-search-minus"></i> کوچکنمایی</button> | |||
<button class="control-btn" id="zoomIn"><i class="fas fa-search-plus"></i> بزرگنمایی</button> | |||
<i class="fas fa-book-open"></i> | <button class="control-btn" id="directView"><i class="fas fa-external-link-alt"></i> مشاهده مستقیم</button> | ||
<p> | </div> | ||
</div> | |||
<div class="loading-bar" id="loadingBar"></div> | |||
<div class="iframe-container"> | |||
<div class="iframe-placeholder" id="iframePlaceholder"> | |||
<div> | |||
<i class="fas fa-book-open" style="font-size: 2rem; color: #6c757d; margin-bottom: 10px;"></i> | |||
<p>لطفاً یک کتاب یا مقاله از لیست انتخاب کنید</p> | |||
</div> | </div> | ||
</div> | </div> | ||
<iframe id="contentFrame" class="clean-frame" src="about:blank" style="display: none;" title="محتوای مطالعه"></iframe> | |||
</div> | </div> | ||
<div class="action-buttons"> | |||
<div class=" | <a id="siteLink" href="#" class="site-link" target="_blank" rel="noopener noreferrer" style="display: none;"> | ||
< | <i class="fas fa-home"></i> | ||
<i class="fas fa- | مشاهده صفحه در سایت اصلی | ||
صفحه | </a> | ||
</ | <a id="wikiLink" href="#" class="wiki-link" target="_blank" rel="noopener noreferrer" style="display: none;"> | ||
<i class="fab fa-wikipedia-w"></i> | |||
<a href="#" class="wiki-link" id=" | مشاهده صفحه کامل در ویکی | ||
<i class="fas fa- | </a> | ||
صفحه | <a id="viewLink" href="#" class="view-link" target="_blank" rel="noopener noreferrer" style="display: none;"> | ||
<i class="fas fa-eye"></i> | |||
مشاهده صفحه | |||
</a> | </a> | ||
</div> | </div> | ||
</ | </section> | ||
</div> | </div> | ||
<script> | <script> | ||
// | // دادههای واقعی | ||
const | const booksData = { | ||
{ | 'کتاب': [ | ||
{ value: 'کتاب_مسیحیت_در_ایران_تا_صدر_اسلام', text: 'کتاب مسیحیت در ایران تا صدر اسلام' }, | |||
{ value: '...', text: 'بزودی' }, | |||
{ value: '...', text: 'بزودی' } | |||
}, | ], | ||
'مقاله': [ | |||
{ value: 'مقاله_۸_تفاوت_کلیدی_بین_کاتولیکها_و_پروتستانها_نویسنده', text: 'مقاله: ۸ تفاوت کلیدی بین کاتولیکها و پروتستانها' }, | |||
{ value: 'مقاله_برادران،_ما_تحلیل%E2%80%8Cگران_سیاسی_نیستیم', text: 'مقاله: برادران، ما تحلیلگران سیاسی نیستیم' }, | |||
{ value: 'مقاله_گناه_آدمی_را_نادان_میکند', text: 'مقاله: گناه آدمی را نادان میکند' }, | |||
{ value: 'مقاله_۴_دلیل_که_چرا_کتاب_مقدس_از_تراجنسیتی_بودن_حمایت_نمی%E2%80%8Cکند', text: 'مقاله: ۴ دلیل که چرا کتاب مقدس از تراجنسیتی بودن حمایت نمیکند' }, | |||
{ value: '۱۰_معنای_یهوه', text: 'مقاله: ۱۰ معنای یهوه' }, | |||
{ value: 'تدریس،_آموزش_و_مطالعه', text: 'مقاله: تدریس، آموزش و مطالعه' }, | |||
{ value: 'خدمت_به_خدا_یعنی_چه', text: 'مقاله: خدمت به خدا یعنی چه' }, | |||
{ value: '...', text: 'بزودی' }, | |||
{ value: '...', text: 'بزودی' }, | |||
{ value: '...', text: 'بزودی' } | |||
], | |||
'فروشگاه کتاب': [ | |||
{ value: 'کتاب_اسلحه_هایی_در_جنگ_علیه_نیروهای_شیطانی', text: 'اسلحه هایی در جنگ علیه نیروهای شیطانی' }, | |||
{ value: 'کتاب_شناخت_عطیه_های_روح_القدس_در_تعلیم_و_عمل', text: 'شناخت عطیه های روح القدس در تعلیم و عمل' }, | |||
{ value: 'کتاب_کشف_عطیه_های_روح_القدس_در_خود', text: 'کشف عطیه های روح القدس در خود' }, | |||
{ value: 'کتاب_اسلحه_هایی_در_جنگ_علیه_نیروهای_شیطانی', text: 'اسلحه هایی در جنگ علیه نیروهای شیطانی' }, | |||
{ value: 'کتاب_گشودن_وعده_های_ابراهیم', text: 'گشودن وعده های ابراهیم' }, | |||
{ value: 'کتاب_رهبری_روحانی', text: 'کتاب رهبری روحانی' }, | |||
{ value: 'کتاب_ژنرالهای_خدا', text: 'ژنرال های خدا' }, | |||
{ value: 'بزودی', text: 'بزودی' }, | |||
{ value: 'بزودی', text: 'بزودی' }, | |||
{ value: 'بزودی', text: 'بزودی' } | |||
] | |||
}; | |||
// عناصر DOM | |||
const categorySelect = document.getElementById('categorySelect'); | |||
const selectDisplay = document.getElementById('selectDisplay'); | |||
const searchInput = document.getElementById('searchInput'); | |||
const optionsList = document.getElementById('optionsList'); | |||
const optionsContainer = document.getElementById('optionsContainer'); | |||
const selectedContentValue = document.getElementById('selectedContentValue'); | |||
const contentFrame = document.getElementById('contentFrame'); | |||
const iframePlaceholder = document.getElementById('iframePlaceholder'); | |||
const wikiLink = document.getElementById('wikiLink'); | |||
const siteLink = document.getElementById('siteLink'); | |||
const viewLink = document.getElementById('viewLink'); | |||
const contentTitle = document.getElementById('contentTitle'); | |||
const zoomIn = document.getElementById('zoomIn'); | |||
const zoomOut = document.getElementById('zoomOut'); | |||
const directView = document.getElementById('directView'); | |||
const loadingBar = document.getElementById('loadingBar'); | |||
let currentZoom = 100; | |||
let currentContent = ''; | |||
let currentItems = []; | |||
// وقتی دستهبندی تغییر کرد | |||
categorySelect.addEventListener('change', function() { | |||
const selectedCategory = this.value; | |||
if (!selectedCategory) { | |||
selectDisplay.textContent = 'لطفاً دستهبندی انتخاب کنید'; | |||
selectDisplay.style.color = '#6c757d'; | |||
selectedContentValue.value = ''; | |||
optionsList.style.display = 'none'; | |||
resetContent(); | |||
return; | |||
} | } | ||
// فعال کردن نمایش | |||
selectDisplay.textContent = 'برای مشاهده محتوا کلیک کنید'; | |||
selectDisplay.style.color = '#333'; | |||
selectedContentValue.value = ''; | |||
currentItems = booksData[selectedCategory]; | |||
resetContent(); | |||
}); | |||
// | // وقتی روی نمایش کلیک میشود | ||
selectDisplay.addEventListener('click', function() { | |||
if (!categorySelect.value) { | |||
alert('لطفاً ابتدا یک دستهبندی انتخاب کنید'); | |||
categorySelect.focus(); | |||
return; | |||
} | |||
if (optionsList.style.display === 'block') { | |||
optionsList.style.display = 'none'; | |||
} else { | |||
optionsList.style.display = 'block'; | |||
searchInput.value = ''; | |||
// در اینجا تابع populateOptions فراخوانی میشود | |||
populateOptions(currentItems); | |||
setTimeout(() => { | |||
searchInput.focus(); | |||
}, 100); | |||
} | |||
} | } | ||
} | }); | ||
// وقتی کاربر در فیلد جستجو تایپ میکند | |||
searchInput.addEventListener('input', function() { | |||
const searchTerm = this.value.toLowerCase(); | |||
const filteredItems = currentItems.filter(item => | |||
item.text.toLowerCase().includes(searchTerm) | |||
); | |||
populateOptions(filteredItems, searchTerm); | |||
}); | |||
// تابع | // پر کردن لیست گزینهها - این تابع اکنون به درستی فراخوانی میشود | ||
function populateOptions(itemsList, searchTerm = '') { | |||
console.log('populateOptions فراخوانی شد با', itemsList.length, 'آیتم'); | |||
optionsContainer.innerHTML = ''; | |||
if (itemsList.length === 0) { | |||
const noResult = document.createElement('div'); | |||
noResult.className = 'no-results'; | |||
noResult.textContent = 'نتیجهای یافت نشد'; | |||
optionsContainer.appendChild(noResult); | |||
return; | |||
} | |||
itemsList.forEach(item => { | |||
const option = document.createElement('div'); | |||
option.className = 'option-item'; | |||
if (searchTerm) { | |||
// هایلایت کردن متن جستجو شده | |||
if ( | const regex = new RegExp(`(${searchTerm})`, 'gi'); | ||
const highlightedText = item.text.replace(regex, '<span class="highlight">$1</span>'); | |||
option.innerHTML = highlightedText; | |||
} else { | } else { | ||
option.textContent = item.text; | |||
} | } | ||
option.addEventListener('click', function() { | |||
selectDisplay.textContent = item.text; | |||
selectDisplay.style.color = '#333'; | |||
selectedContentValue.value = item.value; | |||
optionsList.style.display = 'none'; | |||
// نمایش محتوا | |||
currentContent = item.value; | |||
showContent(item.value, item.text); | |||
}); | |||
} | |||
optionsContainer.appendChild(option); | |||
}); | }); | ||
} | |||
// نمایش محتوا | |||
function showContent(bookValue, bookText) { | |||
const contentUrl = `https://www.pediabible.com/index.php/${bookValue}?action=render`; | |||
const | const wikiUrl = `https://www.pediabible.com/index.php/${bookValue}`; | ||
const siteUrl = `https://www.pediabible.com/index.php/${bookValue}`; | |||
contentTitle.textContent = bookText; | |||
// نمایش loading | |||
contentFrame.style.display = 'none'; | |||
iframePlaceholder.style.display = 'flex'; | |||
iframePlaceholder.innerHTML = ` | |||
<div> | |||
<i class="fas fa-spinner fa-spin" style="font-size: 1.5rem; color: #3e6f73; margin-bottom: 10px;"></i> | |||
<p>در حال بارگذاری "${bookText}"...</p> | |||
</div> | |||
`; | |||
// نوار پیشرفت | |||
let progress = 0; | |||
const progressInterval = setInterval(() => { | |||
progress += Math.random() * 15; | |||
if (progress > 90) progress = 90; | |||
loadingBar.style.width = `${progress}%`; | |||
}, 200); | |||
// بارگذاری محتوا | |||
contentFrame.src = contentUrl; | |||
contentFrame.onload = function() { | |||
clearInterval(progressInterval); | |||
loadingBar.style.width = '100%'; | |||
setTimeout(() => { | |||
loadingBar.style.width = '0%'; | |||
}, 500); | |||
contentFrame.style.display = 'block'; | |||
iframePlaceholder.style.display = 'none'; | |||
applyZoom(); | |||
<div | }; | ||
<i class="fas fa- | |||
<p>در | contentFrame.onerror = function() { | ||
clearInterval(progressInterval); | |||
loadingBar.style.width = '0%'; | |||
iframePlaceholder.style.display = 'flex'; | |||
iframePlaceholder.innerHTML = ` | |||
<div> | |||
<i class="fas fa-exclamation-triangle" style="font-size: 1.5rem; color: #dc3545; margin-bottom: 10px;"></i> | |||
<p>خطا در بارگذاری "${bookText}". لطفاً دوباره تلاش کنید.</p> | |||
</div> | </div> | ||
`; | `; | ||
contentFrame.style.display = 'none'; | |||
}; | |||
// بهروزرسانی لینکها | |||
wikiLink.href = wikiUrl; | |||
wikiLink.style.display = 'flex'; | |||
siteLink.href = siteUrl; | |||
siteLink.style.display = 'flex'; | |||
viewLink.href = contentUrl; | |||
viewLink.style.display = 'flex'; | |||
} | |||
// مشاهده مستقیم | |||
directView.addEventListener('click', function() { | |||
if (currentContent) { | |||
const directUrl = `https://www.pediabible.com/index.php/${currentContent}`; | |||
window.open(directUrl, '_blank', 'noopener,noreferrer'); | |||
} | } | ||
}); | |||
// کنترل بزرگنمایی | |||
function applyZoom() { | |||
contentFrame.style.zoom = `${currentZoom}%`; | |||
} | |||
zoomIn.addEventListener('click', function() { | |||
if (currentZoom < 150) { | |||
currentZoom += 10; | |||
applyZoom(); | |||
} | |||
}); | |||
zoomOut.addEventListener('click', function() { | |||
if (currentZoom > 50) { | |||
currentZoom -= 10; | |||
applyZoom(); | |||
} | } | ||
}); | |||
function resetContent() { | |||
currentContent = ''; | |||
contentTitle.textContent = 'هیچ محتوایی انتخاب نشده است'; | |||
contentFrame.style.display = 'none'; | |||
iframePlaceholder.style.display = 'flex'; | |||
iframePlaceholder.innerHTML = ` | |||
<div> | |||
<i class="fas fa-book-open" style="font-size: 1.5rem; color: #6c757d; margin-bottom: 10px;"></i> | |||
<p>لطفاً یک کتاب یا مقاله از لیست انتخاب کنید</p> | |||
</div> | |||
`; | |||
wikiLink.style.display = 'none'; | |||
siteLink.style.display = 'none'; | |||
viewLink.style.display = 'none'; | |||
contentFrame.src = 'about:blank'; | |||
loadingBar.style.width = '0%'; | |||
} | } | ||
// | // بستن لیست وقتی کاربر در جای دیگری کلیک میکند | ||
document.addEventListener(' | document.addEventListener('click', function(event) { | ||
if (!event.target.closest('.searchable-select')) { | |||
optionsList.style.display = 'none'; | |||
} | |||
}); | |||
// مدیریت کلیدهای کیبورد | |||
searchInput.addEventListener('keydown', function(event) { | |||
if (event.key === 'Escape') { | |||
optionsList.style.display = 'none'; | |||
} | |||
}); | }); | ||
// لاگ برای دیباگ | |||
console.log('سیستم بارگذاری شد. حالا میتوانید تست کنید:'); | |||
console.log('1. یک دستهبندی انتخاب کنید'); | |||
console.log('2. روی "برای مشاهده محتوا کلیک کنید" کلیک کنید'); | |||
console.log('3. لیست محتواها نمایش داده میشود'); | |||
</script> | </script> | ||
</body> | </body> | ||
</html> | </html> |
نسخهٔ کنونی تا ۱۶ اکتبر ۲۰۲۵، ساعت ۱۷:۵۶
کتابخانه دانشنامه کتاب مقدس
مطالعه آنلاین کتابها و مقالات مسیحی
کتابخانه جامع منابع مسیحی
کتابخانهٔ دانشنامهٔ کتاب مقدس مرجع کامل و تخصصی برای مطالعهٔ آنلاین کتابها و مقالات مسیحی است.
کتابها
انتشار همهٔ کتابها در دانشنامه با اجازهٔ رسمی نویسندگان یا ناشران انجام شده است، و برای برخی آثار، مجوز چاپ مجدد نیز دریافت گردیده است. تمامی حقوق برای انتشارات دانشنامهٔ کتاب مقدس محفوظ است. نویسندگان و ناشران مسیحی میتوانند برای همکاری و انتشار آثار خود با ما در ارتباط باشند.
مقالات
مقالات دانشنامه با اجازهٔ نویسندگان یا بر اساس منابع عمومی و بدون حق کپیرایت منتشر میشوند. در همهٔ موارد، اصول امانتداری و احترام به منبع اصلی رعایت شده است. پژوهشگران و نویسندگان مسیحی میتوانند برای انتشار مقالات خود با ما همکاری کنند
فروشگاه کتاب
در فروشگاه کتاب دانشنامه، امکان خرید کتابهای چاپی و الکترونیکی فراهم شده است.
لطفاً یک کتاب یا مقاله از لیست انتخاب کنید