我在javascript代码下面显示了google adsense广告,仅供搜索引擎访问者和社交媒体访问者使用。但代码不适用于广告。
当我在下面的代码上放置adsense广告时,当我访问来自推荐网站的网址时,以及当我访问直接网址而没有推荐广告时,我会向我展示广告。我想只显示adsense广告搜索引擎和社交媒体访问,而不是推荐人和没有推荐人,只有推荐人访问者可以看到adsense广告。
代码:
<script type="text/javascript">
if (document.referrer.match(/google|bing|facebook|twitter/)) {
var test = '
<script type="text/javascript">
google_ad_client = "";
<!-- 336x280 -->
google_ad_slot = "";
google_ad_width = 336px;
google_ad_height = 280px;
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
';
document.write(test);
} else {
document.write("its not referrer");
}
</script>
当我使用下面的代码时,它的工作正常,但是当我放置广告时它不起作用。
代码:
<script type="text/javascript">
if (document.referrer.match(/google|bing|facebook|twitter/)) {
document.write("its a referrer visitor");
} else {
document.write("its not referrer");
}
</script>
请帮我解决一下。感谢
答案 0 :(得分:0)
由于您已经在javascript-block中,因此您可以立即执行代码,而不是document.write
新的javascript代码。使用ad asynchronous mode,您还可以获得一些页面加载功能。
<!-- Google Adsense will place the ad within the ins-block. Display none
by default, we will change that in javascript -->
<ins class="adsbygoogle"
style="display:none; width:336px;height:280px;"
data-ad-client="ca-pub-xxxxxxxxxxxxxxxx"
data-ad-slot="1234567890"></ins>
<script type="text/javascript">
if (document.referrer.match(/google|bing|facebook|twitter/)) {
// Show the ins-block
document.getElementsByClassName('adsbygoogle')[0].style.display = 'inline-block';
// Load adsense-javascript using
var script = document.createElement('script');
script.src = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"; // Note: different url due to async
script.async = true; // Not necessary, but speeds up loading your page
var firstScript = document.getElementsByTagName('script')[0];
firstScript.parentNode.insertBefore(script, firstScript);
}
</script>