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

0

Я использую phpbb3 в качестве моего решения для доски, я уже сделал страницы с контентом и т.д. Все, используя интеграцию с phpbb, теперь я хочу добавить код из google adsense на мои страницы.. для этого я использовал следующий скрипт в general_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>
Теги:
phpbb3

1 ответ

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, тогда продолжайте его загружать так, как вы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню