/* Add custom JS code below */ /* ========================================================================== 🚀 DYNAMIC SYSTEM-WIDE STATUS BAR INJECTOR (ANTI-CACHE & AJAX PROOF) ========================================================================== */ (function() { function injectOriginalThemeCode() { // نتحقق أولاً أن العميل ليس في الصفحة الرئيسية (لأنها تمتلك الكود أصلاً) if (!document.body.classList.contains('page-home')) { // 1️⃣ التحقق من عدم تكرار الحقن لنفس الصفحة if (document.getElementById('dynamic-status-bar-meta')) return; // 2️⃣ استخراج الكلاس الحالي للصفحة الداخلية بدقة var currentClass = ""; document.body.classList.forEach(function(cls) { if (cls.startsWith('page-')) { currentClass = cls; } }); if (!currentClass) currentClass = "page-inner-site"; // 3️⃣ بناء هيكل الكود الأصلي المستقر الخاص بك var fullOriginalBlock = ` `; // 4️⃣ إنشاء حاوية معرّفة بحقن الكود داخل الـ Head var wrapper = document.createElement('div'); wrapper.id = 'dynamic-status-bar-meta'; wrapper.innerHTML = fullOriginalBlock; document.head.appendChild(wrapper); } else { // إذا عاد العميل للصفحة الرئيسية، نقوم بتنظيف كود الصفحات الداخلية لتفادي التعارض var oldInjections = document.getElementById('dynamic-status-bar-meta'); if (oldInjections) oldInjections.remove(); } } // 🔄 تكتيك المراقبة اللحظية: تشغيل السكربت فوراً عند حدوث أي تغيير في بنية الموقع أو الروابط (للتغلب على الـ AJAX والكاش) var lastUrl = location.href; var observer = new MutationObserver(function() { if (location.href !== lastUrl) { lastUrl = location.href; // مسح الحقن القديم لإعادة بنائه متوافقاً مع الصفحة الجديدة var oldInjections = document.getElementById('dynamic-status-bar-meta'); if (oldInjections) oldInjections.remove(); // مهلة زمنية متناهية الصغر لمنح المنصة فرصة لتحديث كلاس الـ body setTimeout(injectOriginalThemeCode, 100); } else { injectOriginalThemeCode(); } }); // بدء نظام المراقبة الصارم لجسم الموقع بالكامل if (document.body) { observer.observe(document.body, { childList: true, subtree: true }); injectOriginalThemeCode(); } else { document.addEventListener('DOMContentLoaded', function() { observer.observe(document.body, { childList: true, subtree: true }); injectOriginalThemeCode(); }); } })();