我在页面上构建了一个ajax请求(普通的和jquery的都试过),去请求一个html片段,此片段中包含<script>....</script>和<script src="..."></script>。把此片段用InnerHTML写道某个DOM里,一般情况下,<script>....</script>会执行,但是额外调取的,如<script src="..."></script>方式调取的,代码不执行。我试过把这段用document.write打印出就没问题,但是document.write把原来的流清除了。请问谁有好的解决办法。
P.S.我问题的根源是要加百度联盟的广告代码。因整个网站都是生成html,内容页生成一次需要很长世间,因此在某次改版的时候就把内容页广告部分改成了使用ajax load 一个页面拼到内容页的方式来加载广告,每次改广告就改那个被加载页面就可以了。然后问题就出来了,ajax加载进来的页面就不在执行那段<script src="..."></script>了。大家能解决了这个问题或者有更好的放置百度广告的方法也行(百度不允许用iframe方式)。
非常感谢!ajax百度联盟广告

解决方案 »

  1.   

    把请求过来的html代码里的<script src="..."></script>这样的改成<script type="text/javascript">var src = "...";var script=document.createElement("script");script.type="text/javascript";script.src = src;document.body.appendChild(script)</script>;
      

  2.   

    后缀改下。。由html改为shtml,这样就可以使用include将文件包含进来动态加载百度的广告代码会出现bug的有些时候
      

  3.   


    最后那个document.body.appendChild只是象征性的写了下告诉你这样跑代码,可能你要改成别的容器里吧,应该是要放在这个脚本所在的父容器里面。