如何在phpbb3模板中动态添加<script>标签?</script>

时间:2013-09-19 14:24:17

标签: javascript jquery html phpbb3

我使用phpbb3作为我的电路板解决方案,我已经制作了内容页等等。所有使用与phpbb的集成,现在我想从谷歌adsense添加代码到我的页面..为此我使用以下脚本在phpbb3 / styles / prosilver / templates

中的overall_header.htm文件中
    <script type="text/javascript">
    // <![CDATA[
    $(document).ready(function(){
    $("<!-- INCLUDE ad.html -->").insertAfter(".column1 > ul");
    $("<!-- INCLUDE ad.html -->").insertAfter(".column1");
    });
    // ]]>
    </script>

我在ad.html中添加了代码,而选择器就是将代码放到适当的位置。

但不知何故,phpbb将其读作XML,而不是执行脚本,而是在文本中显示它...并执行“”部分并显示放置脚本的广告。

http://tutorialfrenzy.com/how-to-block-a-website.php

你可以在那里看到它。 我尝试使用

         <script type="text/javascript">
         // Use any event to append the code
          $(document).ready(function() 
         {
          var s = document.createElement("script");
          s.type = "text/javascript";
          s.src = "http://scriptlocation/das.js";
         // Use any selector
         $("head").append(s);
        });

它没有帮助..有什么建议吗?

编辑:

我还使用了jquery getscript方法

<script type="text/javascript">

  $.getScript("chitikaad.js", function(){
   alert("Running test.js");
   });
    </script>

1 个答案:

答案 0 :(得分:0)

正如您所指出的,包含在js文件中不起作用。请尝试将其更改为此...

$(document).ready(function(){
    $.ajax({
        url: "ad.html",
        success: function(data) {
            $(data).insertAfter(".column1 > ul");
            $(data).insertAfter(".column1");
        }
    });
});

使用<script>时不需要$.getScript()代码,可能不需要document.ready(),但它没有任何损害,因为我没有看到整个项目,所以更好拥有它而不是拥有它(它确实运行代码,即使文档之前已经加载过。)

顺便说一句,如果您可以将脚本添加到主页面,那么您不需要$.getScript()。只需在主页面中包含上述脚本,它就会为您加载ad.html。显然,如果chitikaad.js中有任何其他代码,那么继续按原样加载它。