JavaScript:有条件地展示Google广告

时间:2013-11-03 19:33:38

标签: javascript adsense

我想在vbulletin论坛上显示谷歌广告,当线程不包含任何破解或序列时,我写这段代码:

<div id ="d_content"> post goes here...</div>
<div id="adv_content"></div>
<script>
function isBlank(str) {
    return (!str || /^\s*$/.test(str));
}
var str = document.getElementById("d_content").innerHTML;
var pattern = /crack|nulled|serial|register|key|pach|patch/gi;
var Len= str.match(pattern); 
if( isBlank(Len) ) document.write("adv..");
</script>

但如何将google广告代码替换为“adv ..” 这是我的尝试:

    <div id ="d_content"> post goes here...</div>
<div id="adv_content"></div>
<script>
function isBlank(str) {
    return (!str || /^\s*$/.test(str));
}
var str = document.getElementById("d_content").innerHTML;
var pattern = /crack|nulled|serial|register|key|pach|patch/gi;
var Len= str.match(pattern); 
if( isBlank(Len) ) document.write("
    <script type="text/javascript"><!--
    google_ad_client = "ca-pub-1564912551365218";
    /* 728x90, تم إنشاؤها 02/06/11 زهير طه */
    google_ad_slot = "7785253845";
    google_ad_width = 728;
    google_ad_height = 90;
    //-->
    </script>
    <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
");
</script>

但没有奏效..

1 个答案:

答案 0 :(得分:0)

您的代码不起作用,因为浏览器会将第一个</script>解释为脚本的结尾,尽管它位于文本字符串中。

解决方法是使用escape / unescape序列:

document.write(unescape("%3Cscript type='text/javascript'%3E[your script here]%3C/script%3E"));

其中<转义为%3C>转义为%3E