Как да скрия тази реклама под определена резолюция ?

Дискусията в 'Webmaster Help - Секцията на Експертите' стартирана от Scanolions, Ян 27, 2019.

  1. Scanolions

    Scanolions Member

    Рег.:
    Септ 26, 2011
    Съобщения:
    197
    Харесвания:
    20
    Точки:
    18
    Искам тази реклама на adsense да не се показват под 1280px, но иначе знам в css файл как е, ама тука как да задам на този style атрибут да не показва рекламата ?

    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <!-- 430baner -->
    <div id="top_right_banner"><ins class="adsbygoogle"
    style="display:inline-block;width:430px;height:130px;position:relative;left:-4%;float:right;"
    data-ad-client="ca-pub-xxxxxxxxxx"
    data-ad-slot="2858331939"></ins></div>
    <script>
    (adsbygoogle = window.adsbygoogle || []).push({});
    </script>
     
    Последно редактирано: Ян 27, 2019
  2. KISS

    KISS Active Member

    Рег.:
    Ноем 8, 2009
    Съобщения:
    868
    Харесвания:
    123
    Точки:
    43
    Искаш реклама, която се е заредила да я направиш скрита с CSS? На това Гугъл много ще се ядоса според мен ако го направиш. По-добре не зареждай целия код на всички мобилни устройства. Може да направиш проверката като зареждаш кода с плъгин за реклами (който има такава опция) или програмно с PHP функция https://codex.wordpress.org/Function_Reference/wp_is_mobile
     
  3. Scanolions

    Scanolions Member

    Рег.:
    Септ 26, 2011
    Съобщения:
    197
    Харесвания:
    20
    Точки:
    18
    Не, не искам да я скрия, просто кода да се зарежда, а под определена резолюция да не зареди банери и рекламата да не се показва.
     
  4. KISS

    KISS Active Member

    Рег.:
    Ноем 8, 2009
    Съобщения:
    868
    Харесвания:
    123
    Точки:
    43
    Проблемът е, че PHP няма достъп до размера на екрана, а с CSS пък не можеш да спреш зареждането. Може би с JavaScript е възможно, но такива манипулации не вярвам да са позволени.
     
  5. Scanolions

    Scanolions Member

    Рег.:
    Септ 26, 2011
    Съобщения:
    197
    Харесвания:
    20
    Точки:
    18
    А не може ли така с php код и вътре в php код-а да сложа кода на adsense, например влиза човек в сайта да кажем с резолюция 1280 и сайта вижда, че човека е с такава резолюция и му позволява да покаже javascript кода, а ако е под 1280 php код-а не позволява да се зареди кода и съответно да не зарежда рекламата, сеноче изобщо не съществува ? Защото аз имам код, който по user agent и по ИП кара да зареди php файл в който се намира реклама. Например на мойто ИП съм задал да не ми показва рекламата и не ми показва, а на другите, които са влезли да показва.
     
  6. KISS

    KISS Active Member

    Рег.:
    Ноем 8, 2009
    Съобщения:
    868
    Харесвания:
    123
    Точки:
    43
    За съжаление не може. Както казах PHP не може да види резолюцията. Поне не може при първото посещение. Трябва да се направи бисквитка с JavaScript (който може да види резолюцията) и после на второто посещение вече на потребителя може да гледаш бисквитката с PHP. Описано е в интернет, може да търсиш разни неща по темата как да се види резолюцията с PHP (detect screen resolution with PHP).
     
  7. KISS

    KISS Active Member

    Рег.:
    Ноем 8, 2009
    Съобщения:
    868
    Харесвания:
    123
    Точки:
    43
    Може би направо след зареждане на страницата с JavaScript да видиш резолюцията и ако е нужно тогава да вкараш целия код на рекламата в един <div>, където искаш да се види. Но не знам как ще реагира рекламата на гугъл и дали ще се зареди.
    EDIT: Всъщност за JS файла на рекламата май ще трябва да се зареди динамично в този случай, търси dynamically load external js file в гугъл.
     
    Последно редактирано: Ян 27, 2019
  8. хейтър

    хейтър Active Member

    Рег.:
    Авг 23, 2014
    Съобщения:
    470
    Харесвания:
    157
    Точки:
    43
    Сигурен ли си?
     
  9. thexy

    thexy Member

    Рег.:
    Юни 2, 2010
    Съобщения:
    84
    Харесвания:
    28
    Точки:
    18
    Последно редактирано: Ян 28, 2019
    Scanolions, tripledeuce и KISS харесват това.
  10. Torbalan Trolski

    Torbalan Trolski Well-Known Member

    Рег.:
    Авг 1, 2013
    Съобщения:
    2,145
    Харесвания:
    491
    Точки:
    83
    Не е баш това, което се иска.


    Код:
    <script>
    if( window.matchMedia("(min-width: 1208px)").matches ) {
        document.write('<adsense code>');
    }
    </script>
     
    Blinky харесва това.
  11. tripledeuce

    tripledeuce Active Member

    Рег.:
    Март 31, 2015
    Съобщения:
    195
    Харесвания:
    118
    Точки:
    43
    "If you do want to hide an ad unit, you can set a parameter with CSS media queries so that no ad request is made and no ad is shown. "
    Код:
    @media (max-width: 400px) { .adslot_1 { display: none; } }
    Явно хората са си настроили js-то да не прави рекуест, когато таргет дива е display:none, идващ от media query. Все пак това са Google.

    Ако е перманентно display:none вероятно ще има проблеми, ама щом със query го позволяват, няма какво да му мисли.
     
    KISS харесва това.
  12. Scanolions

    Scanolions Member

    Рег.:
    Септ 26, 2011
    Съобщения:
    197
    Харесвания:
    20
    Точки:
    18
    Благодаря ти. Всичко стана както исках. Благодаря и на другите, които се озоваха на помощ :)
     
    KISS и thexy харесват това.

Сподели страницата

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies.
    Dismiss Notice