在javascript函数中打印HTML javascript代码

时间:2012-08-15 20:37:34

标签: javascript html adsense

我有这样的Adsense代码:

<script type="text/javascript"><!--
google_ad_client = "ca-pub-12345";
/* my advertisement */
google_ad_slot = "2345";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

我有这样一个js文件:

$(document).ready(function() {

 var adsenseCode='<script type="text/javascript"><!--
    google_ad_client = "ca-pub-12345";
    /* my advertisement */
    google_ad_slot = "2345";
    google_ad_width = 728;
    google_ad_height = 90;
    //-->
    </script>
    <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>';

 $().append(adsenseCode);
}

我尝试使用双引号,单引号,删除注释行等。找不到解决方案 如何在HTML页面中打印javascript代码?

1 个答案:

答案 0 :(得分:2)

类似下面的内容应该可以解决问题...

$(document).ready(function() {

 var adsenseCode='<script type="text/javascript">  \
    google_ad_client = "ca-pub-12345";  \
    /* my advertisement */   \
    google_ad_slot = "2345"; \
    google_ad_width = 728;   \
    google_ad_height = 90;   \
    <'+'/script>  \
    <script type="text/javascript"  \
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">  \
    <'+'/script>';

 $('head').append(adsenseCode);
}
  • 我调整了您的.append()来电,以便它会附加到文档的<head>块中。
  • 我分解了</script>结束标记,以避免混淆浏览器,如果此代码本身位于<script>...</script>块内。根据浏览器版本,文档类型和其他内容,这可能是必要的,也可能不是必需的,但我认为出于安全考虑,这通常是一个好主意。

正如@DarkFalcon在评论中指出的那样,jQuery的append函数可能会阻止加载带有外部源的脚本。我已经对此进行了一些实验,但它似乎并不是一个问题。如果这有效,请告诉我们。如果没有,我们可以探索其他替代方案。