|
|
|
Динамическая загрузка скрипта
|
|||
|---|---|---|---|
|
#18+
Всем привет! Подскажите пожалуйста как правильно организовать работу "модулей". Описываю ситуацию. Есть страница main.html. На странице есть панель навигации, условные менюшки "Профииль" и "Настройки" При нажатии на меню на страницу подгружается JS файл $.getScript("js/profile.js") или $.getScript("js/settings.js"). Внутри этих скриптов описаны классы class profile{} и class settings{} соответственно. При первой загрузке скрипта все отрабатывает как надо, но если повторно попытаться открыть нужный раздел, то в консоле получаю ошибку "Uncaught SyntaxError: Identifier 'profile' has already been declared" понятно что интерпретатор говорит, что класс уже есть. Может надо как то выгружать предыдущую версию? Подскажите пожалуйста как правильно поступить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2019, 21:02 |
|
||
|
Динамическая загрузка скрипта
|
|||
|---|---|---|---|
|
#18+
Mandarin, смысл такого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2019, 23:14 |
|
||
|
Динамическая загрузка скрипта
|
|||
|---|---|---|---|
|
#18+
Mandarin, Зачем выгружать, если потом опять загружать придется? Достаточно просто не загружать повторно, а использовать уже загруженные компоненты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2019, 00:13 |
|
||
|
Динамическая загрузка скрипта
|
|||
|---|---|---|---|
|
#18+
Mandarin, В начале каждого файла объявите константу и перед загрузкой скрипта убедитесь, что эта константа ещё не определена. А если определена, то просто пропустите загрузку файла (ведь он уже загружен и им итак можно пользоваться). Я так понимаю это попытка реализовать lazy-load? Если да, то тогда точно не нужно ничего выгружать, потому что это не lazy-load получится, а какое-то бессмысленное выжирание трафика клиентов и реализация искусственных тормозов на сайте, когда вместо отрабатывания кода при нажатии кнопки этот код будет каждый раз тянуться с сервера, парситься, выполняться, и только потом предоставлять нужные функции (и то с этим будет связана уйма проблем в том числе с событиями, которые уже висят где надо ,а вы загружая файл по новой повесите ещё одну копию обработчиков) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2019, 13:20 |
|
||
|
|

start [/forum/topic.php?fid=22&gotonew=1&tid=1443842]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
161ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 10ms |
| total: | 271ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...