Как загрузить javascript, включая команды jquery, из базы данных - PullRequest
0 голосов
/ 29 ноября 2011

Я создаю CMS в C # (.NET), и все содержимое хранится в базе данных. Это включает в себя CSS-код на странице и JS-код на странице. У меня проблема в том, что обработчик, который загружает скрипт js, обрабатывается перед шаблоном страницы, поэтому, если js включает какие-либо команды объекта jquery, они выдают ошибку, потому что сам jquery еще не был загружен и инициализирован.

Например, мой шаблон имеет строку на главной странице в верхней части, как ...

<script src="/scripts/jquery-1.4.2.min.js" type="text/javascript"></script>

как и следовало ожидать. Затем, далее, я загружаю js-код для конкретной страницы, например:

<script type="text/javascript" src="/Handlers/ServeJsByID.ashx?pgsid=<%=pgsID %>&jsid=<%=jsID %>"></script>

где pgsID - это идентификатор текущей страницы, а jsID - это идентификатор записи JavaScript, которую я хочу загрузить.

Я предполагаю, что это как-то связано с жизненным циклом страницы .NET, но я понятия не имею, как заставить загрузку js через обработчик происходить ПОСЛЕ того, как страница уже загрузила и обработала файл jquery.js.

Я пытался использовать Page.ClientScript.RegisterStartupScript в приведенном ниже коде, но все еще получаю ошибки «Ожидаемый объект».

Как я могу загрузить javascript в коде и обработать его ПОСЛЕ загрузки файла jquery?

1 Ответ

1 голос
/ 30 ноября 2011

Если вы попробуете это:

$.getScript("http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js", function() {
   $("#go").click(function(){
     $(".block").animate( { backgroundColor: "pink" }, 1000)
      .delay(500)
      .animate( { backgroundColor: "blue" }, 1000);
   });
});

http://api.jquery.com/jQuery.getScript/

...