Bliss.js представляет собой лёгкую библиотеку для работы с DOM, упрощающую доступ к элементам, управление событиями и работу с атрибутами. Несмотря на компактность и простоту, вопросы совместимости версий требуют внимательного изучения, так как изменения API могут повлиять на поведение существующего кода.
Обратная совместимость является ключевым аспектом при выпуске новых версий Bliss.js. Библиотека стремится не нарушать работу старого кода, но иногда изменения неизбежны. Основные принципы:
Следует проверять документацию при обновлении на новую мажорную версию, чтобы выявить возможные несовместимости.
Bliss.js ориентирован на современные браузеры, однако каждая версия поддерживает минимальный набор:
Важно учитывать, что методы для работы с атрибутами, событиями и классами могут иметь нюансы при старых версиях браузеров.
Bliss.js использует удобные цепочки методов, что облегчает манипуляции с DOM. Некоторые изменения API между версиями могут затрагивать:
Методы выборки элементов
$$() – выбор множества элементов. В новых версиях
возвращает массив вместо NodeList, что упрощает работу с массивными
методами (map, filter).$(selector) – выбор одного элемента. В старых версиях
возвращался элемент напрямую, в новых поддерживается возврат
null при отсутствии совпадений.Управление событиями
.on() и .off() могут принимать
дополнительные параметры для делегирования событий.mouseenter и
mouseleave, чтобы исключить баги в старых браузерах.Атрибуты и свойства
.attr() поддерживает как чтение, так и запись
атрибутов. В версии 2.x устарели методы setAttr и
getAttr..prop() теперь строго работает с DOM-свойствами,
предотвращая конфликты с атрибутами.Bliss.js реализует удобные методы для работы с CSS-классами:
.addClass(), .removeClass(),
.toggleClass() – ключевые методы для управления
стилями.Bliss.js разработан так, чтобы минимально конфликтовать с другими фреймворками:
window и
document.$ как синоним.$$(): в
версии 1.x метод возвращал NodeList, в версии 3.x – массив. Старый код с
.forEach может работать иначе..on(): старый код
с делегированием через false для useCapture может требовать
корректировки.getAttr и
setAttr полностью удалены в последних версиях, заменены
.attr().Совместимость Bliss.js строится на строгом разделении мажорных и минорных изменений. Тщательная проверка документации, тестирование кода и внимание к деталям API позволяют безопасно обновлять библиотеку и использовать все её возможности без нарушения существующего функционала.