По умолчаниюСветлая версия
↑ перейти к списку статей

Хранение js-библиотек в браузере

Всем привет, давно я ничего не писал и сегодня решил разнообразить свой блог постом-размышлением.

Все мы так или иначе используем уже популярные js-библиотеки в своих проектах. Как ее подключить каждый выбирает самостоятельно. Будь то свой локальный CDN или CDN Яндекса или Гугла.

Сегодня вдруг подумалось, а почему разработчики браузеров не предлагают в своем комплекте набор стандартных библиотек?

Плюсы

- экономия трафика пользователя;
- экономия трафика CDN’a;
- уменьшение количества запросов;
- возможность инициализировать библиотеки сразу при загрузке страниц;
- в конце концов, увеличится скорость загрузки страниц;

Как я вижу подключение

По аналогии со шрифтами. При использовании font-face есть возможность проверять наличие шрифта на компьютере пользователя:
src: local('Open Sans'), local('Open Sans Italic')
Вот по такой же схеме и проверять наличие библиотеки в браузере. Т.к. для подобного финта со скриптами у нас нет каких-то специальных свойств, то можно было бы использовать что-то вроде этого:
<script src="local://jquery/2.0.0/jquery.js"||"//yandex.st/jquery/2.0.0/jquery.min.js"></script>

Т.е. сначала проверяем наличие нужной версии в браузере пользователя, и если она не находится, то подключаем библиотеку извне.
Если нужная вам библиотека в браузере уже «отмерла», то используйте стандартное подключение.

Обновление библиотек и хранение

Понятное дело, что библиотеки постоянно обновляются, но их частота обновлений не сравнится с частотой обновления версий браузеров. Таким образом не составит труда поддерживать актуальную версию библиотек.
При этом объем браузера на жестком диске увеличится совсем на мизер, по сравнению с тем, сколько они занимают сейчас.
В самом же браузере хранить две-три последние версии библиотек.

В общем, вот такие вот мысли посетили меня.
Хочу заметить, что я не являюсь сколь-нибудь большим специалистом в устройстве браузеров и специфике их разработки, поэтому идея может быть наивна и абсолютно нежизнеспособна. Считайте это мыслями вслух.

Кнопки для сайта

Один комментарий: Хранение js-библиотек в браузере

  1. ZenCoder говорит:

    Приветствую.

    Очень интересный вариант. А как быть с распарсингом. Атрибут src в единичном экземпляре, а пути и условия целых 2 и кавычки.

    Разве первым делом проверка на кэш не осуществляется?

    Это работает?