کتاب مقدس آنلاین: تفاوت میان نسخهها
ظاهر
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
(۸۱ نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد) | |||
خط ۲۸: | خط ۲۸: | ||
line-height: 1.6; | 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>'); | 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; | |||
} | } | ||
خط ۳۴: | خط ۴۵: | ||
max-width: 1200px; | max-width: 1200px; | ||
margin: 0 auto; | margin: 0 auto; | ||
padding: 15px; | padding: 5px 15px; | ||
} | } | ||
header { | .app-header { | ||
text-align: center; | text-align: center; | ||
margin-bottom: | margin-bottom: 20px; | ||
padding: 20px | padding: 15px 20px; | ||
border-bottom: 2px solid var(--border-color); | border-bottom: 2px solid var(--border-color); | ||
background: linear-gradient(to bottom, #f9f6f2, #f0e6d6); | background: linear-gradient(to bottom, #f9f6f2, #f0e6d6); | ||
border-radius: 8px; | border-radius: 8px; | ||
box-shadow: 0 | 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: 1.1rem; | |||
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; | |||
} | } | ||
h1 { | .app-header h1 { | ||
color: var(--primary-color); | color: var(--primary-color); | ||
margin-bottom: | margin-bottom: 8px; | ||
font-size: | font-size: 1.8rem; | ||
text-shadow: 1px 1px 2px rgba(0,0,0,0.1); | text-shadow: 1px 1px 2px rgba(0,0,0,0.1); | ||
font-weight: 700; | |||
text-align: center; | |||
} | } | ||
.description { | .description { | ||
color: | color:#808080; | ||
font-size: | font-size:1rem; | ||
font-style: italic; | font-style: italic; | ||
margin-top: 5px; | |||
text-align: center; | |||
} | } | ||
.selector-container { | .selector-container { | ||
display: | display: grid; | ||
grid-template-columns: 1fr 1fr; | |||
gap: 15px; | gap: 15px; | ||
margin-bottom: | margin-bottom: 20px; | ||
background: white; | background: white; | ||
padding: | padding: 15px; | ||
border-radius: 8px; | border-radius: 8px; | ||
box-shadow: 0 4px 8px rgba(0,0,0,0.08); | box-shadow: 0 4px 8px rgba(0,0,0,0.08); | ||
border: 1px solid var(--border-color); | border: 1px solid var(--border-color); | ||
direction: rtl; | |||
text-align: right; | |||
} | } | ||
خط ۱۳۷: | خط ۱۶۸: | ||
border: 1px solid var(--border-color); | border: 1px solid var(--border-color); | ||
margin-bottom: 20px; | margin-bottom: 20px; | ||
direction: rtl; | |||
text-align: right; | |||
} | } | ||
خط ۱۶۳: | خط ۱۹۶: | ||
flex-wrap: wrap; | flex-wrap: wrap; | ||
gap: 10px; | gap: 10px; | ||
direction: rtl; | |||
} | } | ||
خط ۲۰۰: | خط ۲۳۴: | ||
gap: 8px; | gap: 8px; | ||
padding: 12px 20px; | padding: 12px 20px; | ||
background-color: | background-color: #87CEEB; | ||
color: | color: #000000; | ||
text-decoration: none; | text-decoration: none; | ||
border-radius: 6px; | border-radius: 6px; | ||
خط ۲۴۱: | خط ۲۷۵: | ||
margin-bottom: 15px; | margin-bottom: 15px; | ||
font-size: 1.5rem; | font-size: 1.5rem; | ||
} | |||
.info-message { | |||
text-align: center; | |||
padding: 10px; | |||
background: #e7f3ff; | |||
border-radius: 5px; | |||
margin-top: 10px; | |||
font-size: 0.9rem; | |||
color: #0066cc; | |||
} | } | ||
خط ۲۴۶: | خط ۲۹۰: | ||
@media (max-width: 768px) { | @media (max-width: 768px) { | ||
.container { | .container { | ||
padding: 10px; | padding: 8px 10px; | ||
} | |||
.app-header { | |||
margin-bottom: 15px; | |||
padding: 12px 15px; | |||
} | } | ||
.breadcrumb { | |||
font-size: 0.85rem; | |||
margin-bottom: 10px; | |||
} | } | ||
h1 { | .app-header h1 { | ||
font-size: 1. | font-size: 1.5rem; | ||
margin-bottom: | margin-bottom: 6px; | ||
} | } | ||
.description { | .description { | ||
font-size: | font-size: 0.9rem; | ||
} | } | ||
.selector-container { | .selector-container { | ||
grid-template-columns: 1fr; | |||
gap: | gap: 10px; | ||
margin-bottom: 20px; | margin-bottom: 20px; | ||
padding: 15px; | padding: 15px; | ||
} | } | ||
خط ۳۲۶: | خط ۳۵۷: | ||
padding: 30px 15px; | padding: 30px 15px; | ||
font-size: 1rem; | font-size: 1rem; | ||
} | |||
.app-header { | |||
padding: 10px 12px; | |||
} | |||
.app-header h1 { | |||
font-size: 1.3rem; | |||
} | } | ||
} | } | ||
خط ۳۴۴: | خط ۳۸۳: | ||
margin-bottom: 15px; | margin-bottom: 15px; | ||
color: var(--border-color); | color: var(--border-color); | ||
} | } | ||
خط ۳۶۱: | خط ۳۹۴: | ||
<body> | <body> | ||
<div class="container"> | <div class="container"> | ||
<header> | <div class="app-header"> | ||
< | <nav class="breadcrumb"> | ||
< | <a href="https://www.pediabible.com" class="breadcrumb-home">خانه</a> | ||
</ | <span class="breadcrumb-separator">/</span> | ||
<h1>کتاب مقدس</h1> | <span class="breadcrumb-current">کتاب مقدس</span> | ||
<p class="description">مطالعه | </nav> | ||
</ | <h1>کتاب مقدس آنلاین</h1> | ||
<p class="description">مطالعه ترجمههای مختلف بصورت کاربردی با واژه نامه تخصصی<br> | |||
ترجمهٔ هزارهٔ نو و مژده هماکنون قابل مطالعهاند و عهد جدید کامل شده است. واژهنامهها بهصورت روزانه و با دقت در حال اتصال و بهروزرسانی هستند تا خدمتی ماندگار برای نسل حال و آیندگان در خداوند بهجا بگذاریم.</p> | |||
</div> | |||
<div id="content-wrapper"> | <div id="content-wrapper"> | ||
خط ۳۷۹: | خط ۴۱۵: | ||
'pediabible.com', | 'pediabible.com', | ||
'www.pediabible.com', | 'www.pediabible.com', | ||
'localhost', | 'localhost', | ||
'127.0.0.1' | '127.0.0.1' | ||
]; | ]; | ||
خط ۳۸۶: | خط ۴۲۲: | ||
function isDomainAllowed() { | function isDomainAllowed() { | ||
const currentDomain = window.location.hostname; | const currentDomain = window.location.hostname; | ||
console.log('🔍 بررسی دامنه:', currentDomain); | |||
// اگر روی فایل محلی هستیم، اجازه بده | |||
if (!currentDomain || currentDomain === '' || currentDomain === 'null') { | |||
console.log('✅ فایل محلی - مجاز'); | |||
return true; | |||
} | |||
console.log( | 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} غیرمجاز است`); | |||
} | |||
return isAllowed; | return isAllowed; | ||
خط ۴۱۵: | خط ۴۶۰: | ||
// تابع اصلی بارگذاری برنامه | // تابع اصلی بارگذاری برنامه | ||
function loadApplication() { | function loadApplication() { | ||
console.log('🚀 شروع بارگذاری با بررسی امنیتی...'); | |||
if (!isDomainAllowed()) { | if (!isDomainAllowed()) { | ||
console.log('❌ دسترسی غیرمجاز - نمایش پیام خطا'); | |||
showAccessDenied(); | showAccessDenied(); | ||
return; | return; | ||
} | } | ||
console.log('✅ دامنه مجاز - بارگذاری برنامه اصلی'); | |||
// اگر دامنه مجاز باشد، برنامه اصلی بارگذاری میشود | // اگر دامنه مجاز باشد، برنامه اصلی بارگذاری میشود | ||
initializeBibleApp(); | 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: "کتاب مکاشفه " } | |||
] | |||
}; | |||
// 🔧 برنامه اصلی کتاب مقدس | // 🔧 برنامه اصلی کتاب مقدس | ||
خط ۴۳۱: | خط ۵۵۴: | ||
wrapper.innerHTML = ` | wrapper.innerHTML = ` | ||
<div class="selector-container"> | <div class="selector-container"> | ||
<div class=" | <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> | <h3 class="selector-title">عهد</h3> | ||
<select id="testament-select"> | <select id="testament-select" disabled> | ||
<option value="">انتخاب عهد</option> | <option value="">انتخاب عهد</option> | ||
<option value="old">عهد قدیم</option> | <option value="old">عهد قدیم</option> | ||
خط ۴۴۰: | خط ۵۷۴: | ||
</div> | </div> | ||
<div class=" | <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> | </div> | ||
<div class="bible-content"> | <div class="bible-content"> | ||
<h2 class="chapter-title" id="chapter-title">لطفاً کتاب و فصل مورد نظر را انتخاب کنید</h2> | <h2 class="chapter-title" id="chapter-title">لطفاً ترجمه، کتاب و فصل مورد نظر را انتخاب کنید</h2> | ||
<div id="verses-container"> | <div id="verses-container"> | ||
خط ۴۶۴: | خط ۵۹۶: | ||
<div class="placeholder"> | <div class="placeholder"> | ||
<i class="fas fa-book-open"></i> | <i class="fas fa-book-open"></i> | ||
<p>برای مطالعه کتاب مقدس، لطفاً ابتدا عهد، | <p>برای مطالعه کتاب مقدس، لطفاً ابتدا ترجمه، سپس عهد، کتاب و فصل مورد نظر خود را انتخاب کنید.</p> | ||
</div> | </div> | ||
</div> | </div> | ||
</div> | |||
<div class="info-message"> | |||
<i class="fas fa-info-circle"></i> | |||
واژه ها در همین پنجره نمایش داده میشوند. برای تجربه بهتر مطالعه واژه در تب جدید: راست کلیک → Open in new tab | |||
</div> | </div> | ||
خط ۴۸۸: | خط ۶۲۵: | ||
`; | `; | ||
// دادههای | // دادههای ترجمههای مختلف | ||
const | const translations = { | ||
old: | '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}`; | |||
} | |||
} | |||
}; | }; | ||
// عناصر DOM | // عناصر DOM | ||
const translationSelect = document.getElementById('translation-select'); | |||
const testamentSelect = document.getElementById('testament-select'); | const testamentSelect = document.getElementById('testament-select'); | ||
const bookSelect = document.getElementById('book-select'); | const bookSelect = document.getElementById('book-select'); | ||
خط ۵۷۳: | خط ۶۶۹: | ||
// متغیرهای وضعیت فعلی | // متغیرهای وضعیت فعلی | ||
let currentTranslation = ''; | |||
let currentTestament = ''; | let currentTestament = ''; | ||
let currentBook = ''; | let currentBook = ''; | ||
let currentChapter = 1; | 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(); | |||
} | |||
}); | |||
// رویداد تغییر عهد | // رویداد تغییر عهد | ||
خط ۵۸۵: | خط ۶۹۹: | ||
bookSelect.innerHTML = '<option value="">انتخاب کتاب</option>'; | bookSelect.innerHTML = '<option value="">انتخاب کتاب</option>'; | ||
bibleBooks[currentTestament].forEach((book, index) => { | |||
const option = document.createElement('option'); | const option = document.createElement('option'); | ||
option.value = index; | option.value = index; | ||
خط ۵۹۶: | خط ۷۱۰: | ||
resetContent(); | resetContent(); | ||
} else { | } else { | ||
bookSelect.disabled = true; | |||
bookSelect.innerHTML = '<option value="">انتخاب کتاب</option>'; | |||
chapterSelect.disabled = true; | |||
chapterSelect.innerHTML = '<option value="">انتخاب فصل</option>'; | |||
resetContent(); | |||
} | } | ||
}); | }); | ||
خط ۶۰۹: | خط ۷۲۷: | ||
const bookIndex = parseInt(currentBook); | const bookIndex = parseInt(currentBook); | ||
const chaptersCount = | const chaptersCount = bibleBooks[currentTestament][bookIndex].chapters; | ||
for (let i = 1; i <= chaptersCount; i++) { | for (let i = 1; i <= chaptersCount; i++) { | ||
خط ۶۳۹: | خط ۷۵۷: | ||
}); | }); | ||
// نمایش فصل با iframe | // نمایش فصل با iframe - فقط محتوای اصلی | ||
function displayChapterWithIframe() { | function displayChapterWithIframe() { | ||
const bookIndex = parseInt(currentBook); | const bookIndex = parseInt(currentBook); | ||
const bookData = | const bookData = bibleBooks[currentTestament][bookIndex]; | ||
const bookName = bookData.name; | const bookName = bookData.name; | ||
const bookDisplayName = bookData.displayName; | const bookDisplayName = bookData.displayName; | ||
const translationName = translations[currentTranslation].name; | |||
chapterTitle.textContent = `${bookName} - فصل ${currentChapter}`; | chapterTitle.textContent = `${translationName} - ${bookName} - فصل ${currentChapter}`; | ||
const pageTitle = | const pageTitle = translations[currentTranslation].getPageTitle(bookDisplayName, currentChapter); | ||
const | const contentUrl = `${translations[currentTranslation].baseUrl}${encodeURIComponent(pageTitle)}&action=render`; | ||
versesContainer.innerHTML = ` | versesContainer.innerHTML = ` | ||
<iframe | <iframe | ||
id="content-iframe" | id="content-iframe" | ||
src="${ | src="${contentUrl}" | ||
class="content-display" | class="content-display" | ||
frameborder="0" | frameborder="0" | ||
loading="lazy" | loading="lazy" | ||
sandbox="allow-scripts allow-same-origin allow-forms allow-popups" | |||
allowfullscreen> | allowfullscreen> | ||
</iframe> | </iframe> | ||
`; | `; | ||
wikiPageLink.href = | // اضافه کردن sandbox به iframe برای امنیت بیشتر | ||
const iframe = document.getElementById('content-iframe'); | |||
wikiPageLink.href = `${translations[currentTranslation].baseUrl}${encodeURIComponent(pageTitle)}`; | |||
wikiPageLink.style.display = 'flex'; | wikiPageLink.style.display = 'flex'; | ||
updateNavigationButtons(); | updateNavigationButtons(); | ||
خط ۶۶۹: | خط ۷۹۲: | ||
function updateNavigationButtons() { | function updateNavigationButtons() { | ||
const bookIndex = parseInt(currentBook); | const bookIndex = parseInt(currentBook); | ||
const chaptersCount = | const chaptersCount = bibleBooks[currentTestament][bookIndex].chapters; | ||
prevChapterBtn.disabled = currentChapter <= 1; | prevChapterBtn.disabled = currentChapter <= 1; | ||
خط ۶۸۵: | خط ۸۰۸: | ||
nextChapterBtn.addEventListener('click', function() { | nextChapterBtn.addEventListener('click', function() { | ||
const bookIndex = parseInt(currentBook); | const bookIndex = parseInt(currentBook); | ||
const chaptersCount = | const chaptersCount = bibleBooks[currentTestament][bookIndex].chapters; | ||
if (currentChapter < chaptersCount) { | if (currentChapter < chaptersCount) { | ||
خط ۶۹۵: | خط ۸۱۸: | ||
function resetContent() { | function resetContent() { | ||
chapterTitle.textContent = 'لطفاً کتاب و فصل مورد نظر را انتخاب کنید'; | chapterTitle.textContent = 'لطفاً ترجمه، کتاب و فصل مورد نظر را انتخاب کنید'; | ||
versesContainer.innerHTML = ` | versesContainer.innerHTML = ` | ||
<div class="instructions"> | <div class="instructions"> | ||
<div class="placeholder"> | <div class="placeholder"> | ||
<i class="fas fa-book-open"></i> | <i class="fas fa-book-open"></i> | ||
<p>برای مطالعه کتاب مقدس، لطفاً ابتدا عهد، | <p>برای مطالعه کتاب مقدس، لطفاً ابتدا ترجمه، سپس عهد، کتاب و فصل مورد نظر خود را انتخاب کنید.</p> | ||
</div> | </div> | ||
</div> | </div> | ||
خط ۷۱۰: | خط ۸۳۳: | ||
function resetAll() { | function resetAll() { | ||
testamentSelect.disabled = true; | |||
testamentSelect.innerHTML = '<option value="">انتخاب عهد</option>'; | |||
bookSelect.disabled = true; | bookSelect.disabled = true; | ||
bookSelect.innerHTML = '<option value="">انتخاب کتاب</option>'; | bookSelect.innerHTML = '<option value="">انتخاب کتاب</option>'; | ||
خط ۷۲۷: | خط ۸۵۲: | ||
// 🔒 جلوگیری از دسترسی به توابع از کنسول | // 🔒 جلوگیری از دسترسی به توابع از کنسول | ||
Object.defineProperty(window, ' | Object.defineProperty(window, 'translations', { | ||
value: null, | value: null, | ||
writable: false, | writable: false, |
نسخهٔ کنونی تا ۱۱ اکتبر ۲۰۲۵، ساعت ۲۲:۰۹
کتاب مقدس آنلاین
مطالعه ترجمههای مختلف بصورت کاربردی با واژه نامه تخصصی
ترجمهٔ هزارهٔ نو و مژده هماکنون قابل مطالعهاند و عهد جدید کامل شده است. واژهنامهها بهصورت روزانه و با دقت در حال اتصال و بهروزرسانی هستند تا خدمتی ماندگار برای نسل حال و آیندگان در خداوند بهجا بگذاریم.