как динамически добавить тег ‹script› в командную панель phpbb3?

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

person Abhishek Gupta    schedule 19.09.2013    source источник
comment
2 вещи. Что на самом деле произошло, и пробовали ли вы jQuery.getScript()?   -  person Reinstate Monica Cellio    schedule 19.09.2013
comment
да, я пытался его использовать ... все еще не работает, и он показывает ошибку в консоли ... какой-то НЕЗАКОННЫЙ символ   -  person Abhishek Gupta    schedule 19.09.2013
comment
Можете ли вы опубликовать ошибку, чтобы мы могли точно увидеть, что это такое?   -  person Reinstate Monica Cellio    schedule 19.09.2013
comment
теперь я не получаю никаких ошибок, не знаю почему ... но он также не работает, я вообще не вижу добавленного кода 4, хотя я вижу предупреждение   -  person Abhishek Gupta    schedule 19.09.2013
comment
Если вы используете getScript(), вы не увидите код — он не добавляет его в голову. Если вы не получаете никаких ошибок, то вы, по крайней мере, знаете, что ваш включенный скрипт их не вызывает, и это начало. Избавьтесь от предупреждения в функции обратного вызова и поместите его в загружаемый файл js. По крайней мере, таким образом вы можете увидеть, действительно ли он работает.   -  person Reinstate Monica Cellio    schedule 19.09.2013
comment
Мой включенный скрипт работает, я использовал предупреждение во внешнем .js, называемом .. оно появляется .. но все же код не добавляется в конец .column1 div, спасибо за помощь   -  person Abhishek Gupta    schedule 19.09.2013
comment
Теперь я вижу, что ‹!-- INCLUDE ad.html --› добавляется в html в элементах в chrome, но он не загружает фактический файл ads.hmtl из папки шаблонов ... он просто показывает ‹!-- INCLUDE ad.html --› он не заменяется фактическим шаблоном ad.html.   -  person Abhishek Gupta    schedule 19.09.2013
comment
Я добавил ответ. Это должно быть то, что вы ищете :)   -  person Reinstate Monica Cellio    schedule 19.09.2013


Ответы (1)


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

person Reinstate Monica Cellio    schedule 19.09.2013