MediaWiki:Mobile.js: відмінності між версіями

Матеріал з WikiLegalAid
Немає опису редагування
Немає опису редагування
Рядок 1: Рядок 1:
/* Усі JavaScript тут будуть завантажені для користувачів мобільного сайту */
mw.loader.using('mobile.startup', function () {
mw.loader.using('mobile.startup', function () {
   mw.hook('mobile.sectionToggle.loaded').add(function () {
   mw.hook('mobile.init').add(function () {
     // Всі розділи готові — знімаємо collapse і вставляємо рекламу
     console.log("MobileFrontend ініціалізовано");
    document.querySelectorAll('section.collapsed').forEach(function (section) {
      section.classList.remove('collapsed');
      section.classList.add('expanded');


      const content = section.querySelector('.content');
    const observer = new MutationObserver(() => {
      if (content) {
      document.querySelectorAll('section.collapsed').forEach(function (section) {
         content.style.display = 'block';
         section.classList.remove('collapsed');
      }
        section.classList.add('expanded');


      // Додаємо рекламний блок
        const content = section.querySelector('.content');
      const adDiv = document.createElement('div');
        if (content) {
      adDiv.className = 'ad-block';
          content.style.display = 'block';
      adDiv.style = 'margin: 20px 0; text-align: center;';
        }
      adDiv.innerHTML = '<ins class="adsbygoogle" style="display:block" data-ad-client="ca‑pub‑9946719691242357" data-ad-format="auto"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script>';


      section.after(adDiv);
        // Додаємо рекламний блок (можна прибрати, якщо не треба)
        const adDiv = document.createElement('div');
        adDiv.className = 'ad-block';
        adDiv.style = 'margin: 20px 0; text-align: center;';
        adDiv.innerHTML = '<ins class="adsbygoogle" style="display:block" data-ad-client="ca‑pub‑9946719691242357" data-ad-slot="YYYY" data-ad-format="auto"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script>';
 
        if (!section.classList.contains('ad-inserted')) {
          section.classList.add('ad-inserted'); // щоб не дублювати
          section.after(adDiv);
        }
      });
    });
 
    observer.observe(document.body, {
      childList: true,
      subtree: true
     });
     });
   });
   });
});
});