Доброго времени суток.
Заранее скажу, что с java-script'ом пока не очень дружу да и в целом с клиентской стороной. Очень смущает кроссбраузерность, надо очень много тестировать и знать тонкости каждого браузера.
Как известно последние браузеры начали поддерживать заголовки "Content-Security-Policy", что очень может помочь от разных XSS-атак, указывать УРЛ картинок с других серверов (если стоит WYSIWYG-редактор ) и т.д.
Поэтому решил попробовать вынести все скрипты и включить подобные заголовки, да и трафика меньше будет кушать.
Большая часть скриптов в теле html-страницы приходит на то что включаются какие-то jquery-плагины с какими-то параметрами. Поэтому решил написать небольшой jquery-плагин. Что он делает:
1. Получает массив с конфигами
2. Конфиги это массив объектов из Селектора, Колбэка и список файлов, которые надо подключить.
Как работает:
1. html-странице подключаем jQuery, наш плагин и основной файл /scripts.js
2. scripts.js содержит наш конфиг-массив и отдает его плагину
3. плагин бежит по конфиг-массиву и по очереди ищет селекторы в html-странице, если найден хотя бы один, то смотрит что надо сделать, если передали ссылки на сторонние библиотеки - подключает их, если передали колбэк, то запускает его передав ему найденные элементы.
небольшое демо:
jsfiddle.net/rrjpwgtf
Конечно скрипты далеки от идеала, но на данный момент вполне все работает (chrome).
Вопросы:
1. стоит ли так работать? т.е. вынести все и работать только основываясь на атрибутах html тэгов. Какие минусы есть в таком подходе? Проблемы?
2. может уже есть подобные плагины, посоветуете что нибудь?
спасибо.