Как динамически добавить тег <script> в template phpbb3?

Я использую phpbb3 в качестве решения для своей доски, я уже создал контентные страницы и т. Д., И все использую интеграцию с phpbb, теперь я хочу добавить код из Google AdSense на свои страницы..., чтобы сделать это, я использовал следующий скрипт в общем_header.htm файл в phpbb3/styles/prosilver/templates

    <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 ответ

Как вы указали, include не работает в файле 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, продолжайте загружать его как есть.

Другие вопросы по тегам