2012-08-15 107 views
2

里面我有这样的AdSense代码:打印HTML JavaScript代码的JavaScript函数

<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代码?

+0

页面加载完成后,请勿“document.write”。它将用书面内容替换页面内容。你应该在脚本标签中写下。 – 2012-08-15 20:39:28

+0

你为什么要用javascript添加它?这应该作为普通的js标签添加到html页面本身。在jQuery中添加它们会导致一些问题。首先,它们在注入到DOM后可能不会被执行。 – Zefiryn 2012-08-15 20:40:41

+0

@arxanas我编辑的问题。 – trante 2012-08-15 20:42:54

回答

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的附加功能可以防止与外部资源的脚本被加载。我已经尝试过这一点,但似乎并没有问题。让我们知道这是否有效。如果没有,我们可以探索其他的选择。

+0

请注意,根据'append'的注释,引用外部脚本的脚本标记将不会运行。我不确定这是否仍然如此。如果此脚本使用“document.write”写入广告,则会导致整个页面被广告替换,这是另一个潜在的问题。 – 2012-08-15 20:49:43

+0

谢谢。当我制作** var adsenseCode **一行代码时,此代码运行良好。否则我得到语法错误。 – trante 2012-08-16 06:09:41

+0

啊,当然你是对的:如果不使用行连续标记(反斜杠),javascript字符串不能跨越多行。我相应地调整了我的示例。我很高兴你把它整理出来。感谢您发布结果。 – Lee 2012-08-18 03:44:10