Недавно в качестве небольшого задания нужно было сделать сайт на ajax. Я не использовал всякие штуки типа ангуляра, да и это не важно. Вначале реализовал сам сайт, без какого либо ajax и следующем слоем как раз подключил его.
Подключать ajax на сайт получилось всего в несколько строк (перехватываем нажатие на ссылки, пару проверок и ):
history.pushState({}, "", $this.attr('href'));
var reload = $('#reload');
Работает, окей.
Предположим на первой странице у нас есть слайдер, или галерея, или select2 или еще что. Когда мы попадаем на эту страницу через ajax, нам нужно подгрузить скрипты этих самих виджетов. За счет чего появляются блики. Это не самое страшное, самое страшное, что вместе с html возвращаются js и css скрипты. И если их можно отфильтровать и не подключать по 20 раз, то в сам дом они всеравно попадают.
Я попробовал их вырезать регуляркой, перед обновление контента:
request = request.replace(/<script(.*)<\/script>/g,'');
request = request.replace(/<link(.*?)>/g,'');
reload.html(request);
но в таком случае начинаются приколы с плагинами и они перестают работать.
Отсюда несколько вопросов:
1) Как правильно подгружать контент через ajax, который имеется собственные плагины, которые нет никакого смысла грузить всегда (а даже если и грузить всегда, представьте 20 плагинов, которые нужно постоянно рефрешить) ?
2) Даже если вести учет подключенных скриптов и не подключать дубли, всеравно в дом попадают копии этих же скриптов и стилей. На сколько это плохо ? (как я заметил, если их вырезать появляются проблемы, так вообще технически не мешают, но мысль о них не дает спать)