2009-04-18 3 views
6

Скажите, что мои скрипты javascript не встроены в html/xml ... Я хочу написать небольшую библиотеку вспомогательных функций для использования в моих скриптах. Очевидно, что в javascript должно быть ключевое слово «#include» или «require», но я не могу найти его. Все, что я мог с Google, полагается на код, являющийся частью html/xml, что в моем случае не помогает. Что мне делать?Как включить # javascript?

+0

Что вам нужно внедрить/потребовать? – James

+0

Файл .js с несколькими функциями ... Я хочу использовать эти функции в других .js-файлах. – 2009-04-18 12:56:18

+0

Что происходит с функцией load (src) {var s = document.createElement ('script'); s.src = src; document.body.appendChild (s);} – James

ответ

17

Я считаю, что вы хотите написать какую-то структуру отслеживания зависимостей для ваших файлов javascript и использовать процесс «Lazy-Loading» для загрузки требуемого JS-файла только тогда, когда это необходимо.

Отъезд Using.js, кажется, что-то делает.

Также вы можете проверить addModule от YUILoader. Он позволяет загружать компоненты инфраструктуры, отличные от YUI, на лету.

+1

Спасибо! Using.js звучит хорошо. – 2009-04-18 13:39:45

+1

вы должны включить Use.js сперва! – dfa

+0

Но подождите - не эти библиотеки просто по существу добавляют теги скриптов в начало документа? - и поэтому работают только с JavaScript, который анализируется в контексте DOM (т. е. веб-проекта)? OP не работает в Интернете, он использует JavaScript для чего-то другого, совершенно другого, который он сказал. Нет файлов HTML и т. Д. – BrainSlugs83

-2

включить файл JS в HTML:

<script type="text/javascript" src="..."></script> 

он должен быть в голове страницы на предмет правильности.

+2

Вы можете написать javascript один из них в голове тоже. –

+4

Спасибо, но это совсем не то, что я имел в виду. У меня есть .js-файл, который я использовал вне любого html-кода. Это не для Интернета. Теперь я хочу импортировать другой .js-файл в свою. Как мне это сделать? – 2009-04-18 12:58:29

+0

А, хорошо, тогда ответ - нет. Вам нужно будет включить код непосредственно в js или использовать страницу noddy html, чтобы сшить файлы js вместе (и предоставить пользовательский интерфейс). –

2

На самом деле это действительно не #include или require в javascript. Вы на самом деле должны самостоятельно обрабатывать все зависимости. Я видел, как люди делают взломы, где они делают document.write, чтобы включить другие файлы javascript.

-1

в случае, если вы заботитесь, здесь есть версия включает, который использует объект документа через его DOM интерфейс:

function include(aFilename) { 
    var script = document.createElement('script'); 
    script.src = aFilename; 
    script.type = 'text/javascript'; 
    document.getElementsByTagName('head')[0].appendChild(script) 
} 

проблема заключается в том, что вы должны включить эту функцию во всех исходный файл, который требуется включает в себя ...: P: P

+0

aFilename не указано в скрипте. И как это полезно? –

+0

include должны иметь обратный вызов .. потому что, когда мы включаем описанный выше способ, мы никогда не знаем, были ли все необходимые файлы включены до того, как вы используете. Предпочитаете использовать функции YUI.add() и YUI.use() –

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