2011-05-21 56 views
0

我不想显示AdSense登录成员,使用JavaScript和基于cookie。这两种类型的成员都会看到相同的html,因为它是从服务器缓存的。我知道我可以隐藏包含div的内容,但我认为这是对TOS的反对,也会被视为错误的印象。实际的谷歌脚本不能改变。我想我只需要以某种方式阻止它在google代码之前或之后使用一些javascript加载show_ads.js。隐藏基于cookie的Adsense

<script type="text/javascript"><!-- 
google_ad_client = "ca-pub-555"; 
google_ad_slot = "555"; 
google_ad_width = 468; 
google_ad_height = 15; 
//--> 
</script> 
<script type="text/javascript" 
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
</script> 
+0

@porum - 根据[专业网站管理员常见问题](http://webmasters.stackexchange.com/faq)转到StackExchange。如果您对此问题的迁移有任何疑问,请咨询[Pro Web Masters Meta](http://meta.webmasters.stackexchange.com/)。 – danlefree 2011-05-21 03:50:46

+0

它必须是JavaScript吗?在JS中操作曲奇是件痛苦的事情。你用什么服务器端脚本来生成你的页面? – GordonM 2011-05-21 04:15:22

+0

忽略饼干。重要的部分是能够根据客户端上的某些标准来选择性地显示广告。服务器代码是.Net MVC。我试图通过使用jQuery Ajax Get的部分视图加载脚本,但页面挂载在加载谷歌脚本上,尽管它可以在单独的脚本中使用简单的警报。 – peterorum 2011-05-21 04:54:40

回答

0

最好的办法是使用服务器端脚本(PHP,ASP等)删除AdSense代码。这里有一些PHP的伪代码:

<?php 
if (!$loggedin) { 
?> 

<script type="text/javascript"><!-- 
google_ad_client = "ca-pub-555"; 
google_ad_slot = "555"; 
google_ad_width = 468; 
google_ad_height = 15; 
//--> 
</script> 
<script type="text/javascript" 
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
</script> 

<?php 
} 
?> 
+0

谢谢,但我正在寻找客户端解决方案,以便服务器可以为每个人生成和缓存相同的html - 匿名成员,登录成员,付费成员。我宁愿不要有3个服务器端缓存的所有内容。我可以改变基于cookie的客户端处理,但我不认为只是在javascript中放置诸如“if(loggedin){...}”之类的东西会阻止它加载google show_ads.js,并且谷歌脚本不允许修改。 可能需要谷歌的Ajax Adsense产品,但他们已经停产。 – peterorum 2011-05-22 00:08:29

+0

此时,我正在使用服务器解决方案来处理非缓存页面,并且未在我想展示给他们的某些缓存页面上展示广告。 – peterorum 2011-05-22 00:16:25