如何仅向搜索引擎访问者和社交媒体访问者展示 adsense 广告?



我在下面制作了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>

请帮我解决它。

谢谢

由于您已经在javascript块中,因此您可以立即执行代码,而不是document.write新的javascript代码。使用 adsense 的异步模式,您还可以获得一些网页加载改进。

<!-- 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>

最新更新