通过从推荐访问网站隐藏'AdSense``div`

时间:2017-01-16 17:09:13

标签: javascript

我真的是编程好的一切新手。所以......

我想在从特定来源访问时隐藏AdSense div(例如:?utm_source=www.test.com)用户仍在我的网站上移动或120之后的几秒钟。

PS:我与另一家广告公司合作,当访问者通过此推介时,我必须展示他们的广告。

我有一个AdSense代码:

<div class="td-all-devices">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Test -->
<ins class="adsbygoogle"
     style="display:inline-block;width:300px;height:600px"
     data-ad-client="ca-pub-0000000000000"
     data-ad-slot="000000"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>

我试过这个,但AdSense继续显示footer

function getQueryVariable(variable)
{ 
  var query = window.location.search.substring(1); 
  var vars = query.split("&"); 
  for (var i=0;i<vars.length;i++)
  { 
    var pair = vars[i].split("="); 
    if (pair[0] == variable)
    { 
      return pair[1]; 
    } 
  }
  return -1; //not found 
}

if ( getQueryVariable('utm_source') == 'www.test.com' )
{
    im.getAds(pozice);
    var ads = 1;

    document.getElementsByClassName("td-all-devices").style.display = 'none';
}

else 
{
    var ads = 0;
}

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

在这里:

if ( getQueryVariable('utm_source') == 'www.test.com' )
{
    im.getAds(pozice);
    var ads = 1;
    document.getElementsByClassName("td-all-devices").style.display = 'none';
}

document.getElementsByClassName返回一个对象数组。因此,您需要遍历它以更改其中某些内容的值。好吧,你没有必须通过它来进行迭代...只要你可以指定你想要使用的集合的索引。

这样的事情:

if ( getQueryVariable('utm_source') == 'www.test.com' )
{
    im.getAds(pozice);
    var ads = 1;
    var theElements = document.getElementsByClassName("td-all-devices");
    for(var i = 0; i < theElements.length; i++)
    {
    theElements[i].style.display = 'none';
    }
}

else 
{
    var ads = 0;
}

document.getElementById()返回您可以使用此修改过的1个元素 document.getElementById("whatever unique id").style.display = 'none';

document.getElement s ByClassName()返回一个元素 s 的集合,你可以像这样修改 document.getElementsByClassName("whatever class name")[index position].style.display = 'none';

由于您是自称新手,我将邀请您发现您首选的浏览器可能为您提供的许多开发人员工具。大多数浏览器都有一个你可以看到的控制台。控制台将帮助您极大地排除代码故障。在控制台中,您几乎可以立即选择问题,因为您会看到这样的条目

  
    

TypeError:document.getElementsByClassName(...)。style未定义

  

在Firefox中,使用未经修改的键盘快捷键,您可以使用ctrl + shift + s调出开发人员调色板。