کتاب مقدس آنلاین: تفاوت میان نسخهها
ظاهر
	
	
| بدون خلاصۀ ویرایش | بدون خلاصۀ ویرایش | ||
| خط ۴۵۸: | خط ۴۵۸: | ||
|                      links.forEach(link => { |                      links.forEach(link => { | ||
|                          if (link.href && !link.href. |                          if (link.href &&   | ||
|                             !link.href.startsWith('javascript:') &&  | |||
|                             !link.href.startsWith('#')) { | |||
|                             // برای تمام لینکها (داخلی و خارجی) target="_blank" اضافه کن | |||
|                              link.setAttribute('target', '_blank'); |                              link.setAttribute('target', '_blank'); | ||
|                              link.setAttribute('rel', 'noopener noreferrer'); |                              link.setAttribute('rel', 'noopener noreferrer'); | ||
| خط ۴۶۶: | خط ۴۶۹: | ||
|                      console.log(`✅ ${links.length} لینک پردازش شد`); |                      console.log(`✅ ${links.length} لینک پردازش شد`); | ||
|                  } catch (error) { |                  } catch (error) { | ||
|                      console.log('⚠️ امکان دسترسی به محتوای iframe وجود ندارد'); |                      console.log('⚠️ امکان دسترسی به محتوای iframe وجود ندارد (محدودیت CORS)'); | ||
|                     // راهحل جایگزین: استفاده از MutationObserver برای نظارت بر تغییرات DOM | |||
|                     setupLinkInterception(); | |||
|                 } | |||
|             }); | |||
|         } | |||
|         // راهحل جایگزین برای مدیریت کلیک روی لینکها در صورت محدودیت CORS | |||
|         function setupLinkInterception() { | |||
|             document.addEventListener('click', function(event) { | |||
|                 // اگر کلیک روی لینکی داخل iframe باشد | |||
|                 if (event.target.tagName === 'A' && event.target.href) { | |||
|                     const link = event.target; | |||
|                     // اگر لینک خارجی است، در پنجره جدید بازش کن | |||
|                     if (!link.href.startsWith('javascript:') &&  | |||
|                         !link.href.startsWith('#')) { | |||
|                         event.preventDefault(); | |||
|                         window.open(link.href, '_blank', 'noopener,noreferrer'); | |||
|                     } | |||
|                  } |                  } | ||
|              }); |              }); | ||