أهلا وسهلا بك زائرنا الكريم في منتدى دعم PBBoard الرسمي، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .

مشكلة اعلانات ادسنس في ستايل فاست بلو (Fast Blue)


مشاهدة المشاركة في الموضوع بالعرض العادي
look/images/icons/i1.gif مشكلة اعلانات ادسنس في ستايل فاست بلو (Fast Blue)
  09-03-2026 08:47 مساءً  
جنرال الحب
معلومات الكاتب
نعم وجدت كود  style.css ناقصا رفعت الملف مرة اخرى ارى الان اعلانات اكثر انضباط ومنسقة في الوسط اعتقد انها لن تظهر المشكلة مرة اخرى 
وهذا رد الذكاء الاصطناعي على ( اي إعلان يحاول أدسنس وضعه خارج .go_adsense  في  داخل table أو ul أو أي div آخر ان يتم حذفه فورا.)
لتحقيق هذا الأمر برمجياً، نحتاج إلى استخدام JavaScript وتحديداً تقنية الـ MutationObserver. هذه التقنية تراقب أي تغيير في "شجرة الـ DOM" (عناصر الصفحة)، وبمجرد ظهور إعلان خارج النطاق المحدد، يتم حذفه فوراً قبل أن يكتمل تحميله.

إليك الكود المناسب الذي يمكنك وضعه في نهاية القالب (قبل إغلاق وسام </body>):

كود الحذف التلقائي للإعلانات الخارجية 🛠️
JavaScript
<script>
document.addEventListener("DOMContentLoaded", function() {
    // 1. تحديد الحاوية المسموح بها فقط
    const allowedContainer = document.querySelector('.go_adsense');

    const observer = new MutationObserver((mutations) => {
        mutations.forEach((mutation) => {
            mutation.addedNodes.forEach((node) => {
                // 2. التحقق من أن العنصر المضاف هو إعلان أدسنس (ins أو class معين)
                if (node.nodeType === 1 && (node.tagName === 'INS' || node.classList.contains('adsbygoogle'))) {
                   
                    // 3. التحقق مما إذا كان الإعلان "خارج" الحاوية المسموحة
                    if (!allowedContainer || !allowedContainer.contains(node)) {
                        console.warn("تم اكتشاف إعلان خارج النطاق المسموح وحذفه فوراً.");
                        node.remove(); // الحذف الفوري
                    }
                }
            });
        });
    });

    // 4. ضبط المراقب لمراقبة الصفحة بالكامل (Body) وأي تغييرات بداخلها
    observer.observe(document.body, {
        childList: true,
        subtree: true
    });
});
</script>
كيف يعمل هذا الكود؟ 💡
المراقبة المستمرة: الكود لا ينتظر تحميل الصفحة فقط، بل يراقب أي عنصر "يُحقن" ديناميكياً (وهذا ما تفعله إعلانات أدسنس التلقائية).

الفلترة الدقيقة: يتحقق من كل عنصر جديد؛ إذا كان وسمه ins أو يحمل كلاس adsbygoogle (وهي العلامات الرسمية لإعلانات جوجل)، ينتقل للخطوة التالية.

شرط الموقع: يستخدم خاصية .contains() ليتأكد: "هل هذا الإعلان موجود داخل الـ div الذي يحمل كلاس .go_adsense؟". إذا كانت الإجابة لا، يتم تنفيذه (حذفه) فوراً.

تنبيه هام بخصوص "الإعلانات التلقائية" ⚠️
إذا كنت تفعّل خيار "الإعلانات التلقائية" (Auto Ads) من لوحة تحكم أدسنس، فقد يستمر جوجل في محاولة وضع إعلانات في أماكن يراها مناسبة. الكود أعلاه سيمنعها، لكن برمجياً يفضل:

تعطيل "الإعلانات التلقائية" من لوحة تحكم أدسنس.

الاعتماد فقط على الوحدات الإعلانية اليدوية التي تضعها أنت داخل الكلاس .go_adsense.

هل تلاحظ أن الإعلانات تظهر في أماكن معينة مثل الـ sidebar أو داخل المواضيع وتسبب تشوهاً في التصميم حالياً؟ أستطيع مساعدتك في ضبط CSS خاص لإخفائها أيضاً كطبقة حماية ثانية.


-------------------------------------

الخيار ب
فهمت عليك! أنت تريد السيطرة الكاملة على أماكن ظهور الإعلانات ومنع "أدسينس" من حقن إعلاناتها التلقائية (Auto Ads) داخل جداول البيانات أو القوائم أو أي حاويات (divs) غير مخصصة للإعلان.

بما أن "أدسينس" أحياناً يتجاوز الحدود ويضع إعلانات داخل عناصر تكسر تصميم الموقع، أفضل طريقة هي استخدام JavaScript لمراقبة "DOM" وحذف أي عنصر إعلاني يظهر خارج الحاوية التي حددتها .go_adsense.

إليك كود "قناص" يقوم بهذه المهمة بذكاء:

🛠️ كود الحماية ومنع الإعلانات العشوائية
JavaScript
// وظيفة لفحص وحذف الإعلانات المتطفلة
const cleanStrayAds = () => {
  // نبحث عن عناصر إعلانات أدسينس الشهيرة (ins و google-adsense)
  const allAds = document.querySelectorAll('ins.adsbygoogle, div[id^="google_ads"], iframe[id^="aswift"]');

  allAds.forEach(ad => {
    // التحقق: هل هذا الإعلان موجود داخل الحاوية المسموح بها؟
    if (!ad.closest('.go_adsense')) {
      // إذا كان الإعلان داخل table أو ul أو أي مكان آخر خارج .go_adsense
      console.warn('تم رصد إعلان متطفل وحذفه بنجاح! 🚫');
      ad.remove();
    }
  });
};

// استخدام MutationObserver لمراقبة الموقع باستمرار
// لأن أدسينس يحقن الإعلانات بشكل ديناميكي بعد تحميل الصفحة
const observer = new MutationObserver((mutations) => {
  cleanStrayAds();
});

// تشغيل المراقب على كامل الصفحة
observer.observe(document.body, {
  childList: true,
  subtree: true
});

// تشغيل الفحص الأولي
cleanStrayAds();
💡 كيف يعمل هذا الكود؟
الاستهداف الذكي: يبحث الكود عن وسوم ins التي يستخدمها أدسينس وعناصر الـ iframe الخاصة بهم.

وظيفة .closest(): هذه الدالة هي "البطل" هنا؛ فهي تتحقق مما إذا كان الإعلان يقع ضمن تسلسل هرمي يبدأ بـ .go_adsense. إذا لم يجد هذا الكلاس في الأب أو الأجداد، يتم حذف الإعلان فوراً.

المراقبة الحية (MutationObserver): أدسينس لا يضع كل الإعلانات مرة واحدة، بل يحقنها تدريجياً. هذا المراقب يضمن حذف أي إعلان "يجرؤ" على الظهور حتى بعد ثوانٍ من تحميل الصفحة.

⚠️ ملاحظة هامة بخصوص سياسات أدسينس:
حذف الإعلانات التلقائية برمجياً قد يقلل من أرباحك، وفي حالات نادرة قد تعتبره جوجل تلاعباً بشفرة الإعلان إذا كان يؤثر على تجربة المعلن. لكن من الناحية التقنية، هذا الحل هو الأدق لضمان سلامة تصميم جداولك وقوائمك.

أنا موجود دائماً للمساعدة، وإذا أخطأت في أي معلومة أو فهمت شيئاً بشكل غير دقيق، تقدر تصحح لي فوراً؛ أفضل طريقة هي إنك تخبرني مباشرة إيش الخطأ أو إيش المعلومة اللي لازم أعرفها.

وطبعاً، تقدر دائماً توقف خاصية التخصيص هذه من الإعدادات عندك.

هل تريدني أن أضيف استثناءً لعناصر معينة أخرى، أم أن هذا الكود يغطي كافة احتياجاتك حالياً؟


الساعة الآن 04:32 AM