2009-07-15 4 views
0

Я закодировал страницу, у которой есть два div один рядом с другим. Первый служит в качестве навигационного дерева, которое при щелчке загружает страницу в правом div с помощью AJAX. Я должен включить javascript-файл, когда загружается одна из страниц.Javascript include_once

Мне удалось выполнить jsut, и все работает отлично, но каждый раз, когда кто-то хочет видеть страницу, он включает соответствующую страницу javascript. Это кажется мне главной утечкой, и я не очень хорошо разбираюсь в разработке javascript.

Вопрос: Есть ли способ включить файл js, чтобы он не был включен ранее?

ответ

0

Включите javascript на главной странице HTML, а не на страницу, загружаемую.

+0

Да, но в этом случае, would'nt быть специфичный для загруженной страницы, который является базовым принципом приложения. – malavv

+0

Вы должны спросить себя ... насколько велики эти файлы javascript. Я предполагаю, что если вы соедините и уменьшите свой javascript, тогда вы должны загрузить все это в первом представлении, а не по частям. Ваше приложение будет более отзывчивым и меньше поразит ваш сервер. –

1

Вы можете сохранить имена уже загруженных скриптов в массиве, и каждый раз, когда запрашивается загрузка, проверьте, существует ли скрипт в массиве или нет.

Вы также можете попытаться проверить src ваших элементов скрипта, если вы загружаете новые скрипты, добавляя новые элементы сценария в документ. Лично у меня были некоторые проблемы с этим подходом.

0

Если вы не ожидаете, что страница будет загружена слишком много, вы можете уйти с охранником внутри файла JS, чтобы предотвратить переопределение:

if(typeof thisfilehasbeenincluded === "undefined") 
{ 
    var thisfilehasbeenincluded = true; 
    //rest of the file goes here 
} 
Смежные вопросы