Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.07.2018, 12:59
Аватар для Redfern89
Новичок на форуме
Отправить личное сообщение для Redfern89 Посмотреть профиль Найти все сообщения от Redfern89
 
Регистрация: 12.03.2016
Сообщений: 4

Динамическая подгрузка
Доброго времени суток уважаемые участники форума! У меня есть несколько js-файлов, которые содержат нечто подобное

document.addEventListener("DOMContentLoaded", function(e) {
 "use strict";
 ....
});

var helper = {
  ......
};


каждый файл прописан в блоке head и срабатывает как ему нужно. Вот незадача. Мой сайт использует ajax-навигацию. т.е. блок head не трогается, меняется только адрес в строке, заголовок и содержимое container'а. Как сделать так, что-бы код в блоках DOMContentLoaded срабатывал при изменении контента?
Ответить с цитированием
  #2 (permalink)  
Старый 04.07.2018, 13:03
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,707

Вызывать событие DOMContentLoaded после смены контента страницы не пробовали?
Если у вас асинхронная навигация также подключается к странице, то стоит подумать о возможной утечке памяти.
Ответить с цитированием
  #3 (permalink)  
Старый 04.07.2018, 13:08
Аватар для Redfern89
Новичок на форуме
Отправить личное сообщение для Redfern89 Посмотреть профиль Найти все сообщения от Redfern89
 
Регистрация: 12.03.2016
Сообщений: 4

Сообщение от Nexus Посмотреть сообщение
Вызывать событие DOMContentLoaded после смены контента страницы не пробовали?
К слову контент - это отдельный блок(div) на странице.

Сообщение от Nexus Посмотреть сообщение
Если у вас асинхронная навигация также подключается к странице, то стоит подумать о возможной утечке памяти.
Об этом подробнее плиз)))
Ответить с цитированием
  #4 (permalink)  
Старый 04.07.2018, 13:32
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,707

Сообщение от Redfern89
Об этом подробнее плиз
Честно говоря писать поэму по этому поводу нет желания, поэтому изложу максимально коротко.
Грубо говоря, т.н. утечка памяти может иметь место быть, если вы на один и тот же элемент будете вешать один и тот же обработчик события при каждой асинхронной смене контента.
Подобное возможно также, если используется jQuery для обработки каких-либо событий на элементах, которые входят в область, контент которой асинхронно изменяет без применения jQuery (т.к. jQuery кеширует listeners).
Ответить с цитированием
  #5 (permalink)  
Старый 04.07.2018, 17:59
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Redfern89,
может вам не DOMContentLoaded нужен, а событие hashchange?
https://developer.mozilla.org/ru/doc...s/onhashchange
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая подгрузка внешнего скрипта Shitbox2 Общие вопросы Javascript 3 18.05.2013 11:43
ajax + динамическая подгрузка скриптов czp AJAX и COMET 3 26.03.2013 22:31
Динамическая подгрузка контента при прокрутке assd18 AJAX и COMET 11 14.03.2013 14:05
динамическая подгрузка скрипта jetli13 Общие вопросы Javascript 1 13.07.2010 16:15
Динамическая подгрузка JScript Yustas Общие вопросы Javascript 0 04.05.2009 16:31