2011-02-24 2 views
1

Я пытаюсь добавить функцию js динамически, поэтому я прочитал около $.getScript(). Исправьте меня, если я ошибаюсь, но кажется, что $.getScript() просто вызовет файл .js, который уже существует в общей папке, и просто попробует «загрузить его» и сделает его доступным, но сам js-файл будет просто статические js. То, что я пытаюсь сделать, это вызвать динамический js-скрипт, и содержимое этого js-скрипта значительно изменится, поэтому оно должно появиться с сервера.

  • Я думаю, что это невозможно с $.getScript(), или это так?
  • Если нет, я могу создать ajax, который возвращает синтаксис функции, но как я могу потом добавить его к текущему js или как создать файл js для него и загрузить js?
  • Мне бы хотелось удалить новые js позже, но это не приоритет.

Может ли $.getScript() помочь с этим или комбо $.getScript() и .ajax?

+0

Что вы используете для обслуживания динамического сценария? –

+0

@Pekka Я сформулирую функцию js function function() {} 'и верну этот скрипт с php-сервера. Пока неясно, нужно ли мне возвращать его как .js-файл или как только текст определения функции, но оба могут быть сделаны по мере необходимости. – twitter

+1

просто указывает на файл PHP, расширение файла бессмысленно. –

ответ

3

Комментарий Пекки правильный - jquery не волнует, что такое расширение файла.

$ .getScript («dynamicScript.php») будет работать нормально до тех пор, который выводит файл корректный сценарий (без сценария теги нужны)

+0

Итак, когда я вызываю этот файл, содержимое js будет храниться где-то, чтобы оно было доступно для сайта, или мне нужно было бы называть его каждый раз, когда он мне нужен? – twitter

+0

функции, переменные и т. Д. Будут сохранены в памяти при выполнении, если они не будут уничтожены неявно или по областям. Если вы используете шаблон OO, и, например, ваш сценарий возвращает литерал объекта, например: 'window.APP = {...}' it_should_ будет доступен для оставшейся части сеанса до уничтожения. Он должен быть загружен для каждого пользователя в каждой ситуации вызова. По умолчанию он не будет кэшироваться. –

Смежные вопросы