我真的是编程好的一切新手。所以......
我想在从特定来源访问时隐藏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;
}
有人可以帮忙吗?
答案 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
调出开发人员调色板。