Spec-Zone.ru › htmx

Справочник

Содержание

  • Основные атрибуты htmx
  • Дополнительные атрибуты htmx
  • CSS классы htmx
  • Заголовки запросов htmx
  • Заголовки ответов htmx
  • События htmx
  • Расширения htmx
  • JavaScript API
  • Параметры конфигурации

Справочник по основным атрибутам

Ниже приведены наиболее распространенные атрибуты при использовании htmx.

Атрибут Описание
hx-boost добавить или убрать постепенное улучшение для ссылок и форм
hx-get выполняет запрос GET на указанный URL
hx-post выполняет запрос POST на указанный URL
hx-on* обрабатывает события с помощью встроенных скриптов на элементах
hx-push-url добавляет URL в адресную строку браузера, создавая новую запись в истории
hx-select выбирает содержимое для обмена из ответа
hx-select-oob выбирает содержимое для обмена из ответа, вне зоны видимости (в другом месте, кроме целевого элемента)
hx-swap управляет тем, как содержимое обменивается (outerHTML, beforeend, afterend, …)
hx-swap-oob помечает содержимое в ответе как вне зоны видимости (должно быть обменено в другом месте, кроме целевого элемента)
hx-target указывает целевой элемент для обмена
hx-trigger указывает событие, которое запускает запрос
hx-vals добавляет значения в параметры для отправки с запросом (в формате JSON)

Справочник по дополнительным атрибутам

В таблице ниже перечислены все остальные доступные атрибуты htmx.

Атрибут Описание
hx-confirm отображает диалог confirm() перед отправкой запроса
hx-delete выполняет запрос DELETE на указанный URL
hx-disable отключает обработку htmx для данного узла и всех дочерних узлов
hx-disabled-elt добавляет атрибут disabled к указанным элементам во время выполнения запроса
hx-disinherit управление и отключение автоматического наследования атрибутов для дочерних узлов
hx-encoding изменяет тип кодирования запроса
hx-ext расширения, используемые для данного элемента
hx-headers добавляет заголовки, которые будут отправлены с запросом
hx-history предотвращает сохранение конфиденциальных данных в кэше истории
hx-history-elt элемент для создания снимка и восстановления во время навигации по истории
hx-include включает дополнительные данные в запросы
hx-indicator элемент, к которому будет добавлен класс htmx-request во время запроса
hx-params фильтрует параметры, которые будут отправлены с запросом
hx-patch выполняет запрос PATCH на указанный URL
hx-preserve указывают элементы, которые останутся неизменными между запросами
hx-prompt отображает prompt() перед отправкой запроса
hx-put выполняет запрос PUT на указанный URL
hx-replace-url заменяет URL в адресной строке браузера
hx-request настраивает различные аспекты запроса
hx-sse перемещено в расширение. Документация для старых версий
hx-sync управление синхронизацией запросов, выполняемых разными элементами
hx-validate вынуждает элементы пройти валидацию перед запросом
hx-vars динамически добавляет значения в параметры для отправки с запросом (устаревшее, используйте hx-vals)
hx-ws перемещено в расширение. Документация для старых версий

Справочник по CSS классам

Класс Описание
htmx-added Применяется к новому фрагменту содержимого перед заменой, удаляется после фиксации.
htmx-indicator Динамически сгенерированный класс, который будет переключать видимость (прозрачность: 1) при наличии класса htmx-request
htmx-request Применяется к элементу или элементу, указанному с помощью hx-indicator, в процессе выполнения запроса
htmx-settling Применяется к целевому элементу после обмена содержимого, удаляется после фиксации. Продолжительность может быть изменена с помощью hx-swap.
htmx-swapping Применяется к целевому элементу перед обменом содержимого, удаляется после обмена. Продолжительность может быть изменена с помощью hx-swap.

Справочник по HTTP-заголовкам

Справочник по заголовкам запросов

Заголовок Описание
HX-Boosted указывает, что запрос осуществляется элементом, использующим hx-boost
HX-Current-URL текущий URL браузера
HX-History-Restore-Request “true”, если запрос для восстановления истории после промаха в кэше локальной истории
HX-Prompt ответ пользователя на hx-prompt
HX-Request всегда “true”
HX-Target идентификатор целевого элемента, если он существует
HX-Trigger-Name идентификатор элемента, вызвавшего событие, если он существует
HX-Trigger идентификатор элемента, вызвавшего событие, если он существует

Справочник по заголовкам ответов

Заголовок Описание
HX-Location позволяет выполнить переадресацию на стороне клиента без полной перезагрузки страницы
HX-Push-Url добавляет новый URL в стек истории
HX-Redirect можно использовать для переадресации на стороне клиента на новое местоположение
HX-Refresh если установлено “true”, клиент выполнит полную перезагрузку страницы
HX-Replace-Url заменяет текущий URL в адресной строке
HX-Reswap позволяет указать, как будет заменено содержимое ответа. См. hx-swap для возможных значений
HX-Retarget CSS-селектор, обновляющий целевой элемент для обновления содержимого в другом элементе страницы
HX-Reselect CSS-селектор, позволяющий выбрать часть ответа для замены. Переопределяет существующий hx-select в элементе, вызвавшем событие
HX-Trigger позволяет запускать события на стороне клиента
HX-Trigger-After-Settle позволяет запускать события на стороне клиента после этапа фиксации
HX-Trigger-After-Swap позволяет запускать события на стороне клиента после этапа обмена

Справочник по событиям

Событие Описание
htmx:abort отправить это событие элементу, чтобы прервать запрос
htmx:afterOnLoad срабатывает после завершения обработки успешного ответа AJAX-запроса
htmx:afterProcessNode срабатывает после того, как htmx инициализировал узел
htmx:afterRequest срабатывает после завершения AJAX-запроса
htmx:afterSettle срабатывает после стабилизации DOM
htmx:afterSwap срабатывает после замены нового содержимого
htmx:beforeCleanupElement срабатывает перед тем, как htmx отключит элемент или удалит его из DOM
htmx:beforeOnLoad срабатывает перед любой обработкой ответа
htmx:beforeProcessNode срабатывает перед тем, как htmx инициализирует узел
htmx:beforeRequest срабатывает перед выполнением AJAX-запроса
htmx:beforeSwap срабатывает перед заменой, позволяет настроить замену
htmx:beforeSend срабатывает непосредственно перед отправкой ajax-запроса
htmx:configRequest срабатывает перед запросом, позволяет настроить параметры и заголовки
htmx:confirm срабатывает после срабатывания триггера на элементе, позволяет отменить (или отложить) отправку AJAX-запроса
htmx:historyCacheError срабатывает при ошибке при записи в кэш
htmx:historyCacheMiss срабатывает при пропуске кэша в подсистеме истории
htmx:historyCacheMissError срабатывает при неудачной удаленной загрузке
htmx:historyCacheMissLoad срабатывает при успешной удаленной загрузке
htmx:historyRestore срабатывает, когда htmx обрабатывает действие восстановления истории
htmx:beforeHistorySave срабатывает перед сохранением содержимого в кэш истории
htmx:load срабатывает, когда новое содержимое добавляется в DOM
htmx:noSSESourceError срабатывает, когда элемент ссылается на событие SSE в своем триггере, но родительский источник SSE не определен
htmx:onLoadError срабатывает при возникновении исключения во время обработки onLoad в htmx
htmx:oobAfterSwap срабатывает после замены элемента вне диапазона
htmx:oobBeforeSwap срабатывает перед заменой элемента вне диапазона, позволяет настроить замену
htmx:oobErrorNoTarget срабатывает, когда элемент вне диапазона не имеет соответствующего идентификатора в текущем DOM
htmx:prompt срабатывает после отображения запроса на ввод
htmx:pushedIntoHistory срабатывает после добавления URL в историю
htmx:responseError срабатывает при возникновении ошибки HTTP-ответа (не 200 или 300 код ответа)
htmx:sendError срабатывает при сетевой ошибке, которая предотвращает выполнение HTTP-запроса
htmx:sseError срабатывает при возникновении ошибки с источником SSE
htmx:sseOpen срабатывает при открытии источника SSE
htmx:swapError срабатывает при возникновении ошибки во время фазы замены
htmx:targetError срабатывает при указании неверной цели
htmx:timeout срабатывает при истечении времени ожидания запроса
htmx:validation:validate срабатывает перед проверкой элемента
htmx:validation:failed срабатывает, когда проверка элемента завершается неудачно
htmx:validation:halted срабатывает, когда запрос приостановлен из-за ошибок проверки
htmx:xhr:abort срабатывает при прерывании ajax-запроса
htmx:xhr:loadend срабатывает по окончании ajax-запроса
htmx:xhr:loadstart срабатывает при начале ajax-запроса
htmx:xhr:progress срабатывает периодически во время ajax-запроса, который поддерживает события о ходе выполнения

Справочник по API JavaScript

Метод Описание
htmx.addClass() Добавляет класс к заданному элементу
htmx.ajax() Выполняет ajax-запрос в стиле htmx
htmx.closest() Находит ближайшего родителя заданного элемента, соответствующего селектору
htmx.config Свойство, содержащее текущий объект конфигурации htmx
htmx.createEventSource Свойство, содержащее функцию для создания объектов SSE EventSource для htmx
htmx.createWebSocket Свойство, содержащее функцию для создания объектов WebSocket для htmx
htmx.defineExtension() Определяет расширение htmx расширение
htmx.find() Находит единственный элемент, соответствующий селектору
htmx.findAll() htmx.findAll(elt, selector) Находит все элементы, соответствующие заданному селектору
htmx.logAll() Устанавливает логирование, которое будет записывать все события htmx
htmx.logger Свойство, установленное на текущий логгер (по умолчанию null)
htmx.off() Удаляет обработчик события от заданного элемента
htmx.on() Создает обработчик события на заданном элементе, возвращая его
htmx.onLoad() Добавляет обработчик обратного вызова для события htmx:load
htmx.parseInterval() Разбирает объявление интервала в значение в миллисекундах
htmx.process() Обрабатывает данный элемент и его потомков, подключая любые функции htmx
htmx.remove() Удаляет заданный элемент
htmx.removeClass() Удаляет класс из заданного элемента
htmx.removeExtension() Удаляет расширение htmx расширение
htmx.takeClass() Взять класс из других элементов для данного элемента
htmx.toggleClass() Переключает класс заданного элемента
htmx.trigger() Срабатывает событие на элементе
htmx.values() Возвращает значения ввода, связанные с данным элементом

Справочник по конфигурации

Htmx имеет некоторые параметры конфигурации, к которым можно получить доступ как программно, так и декларативно. Они перечислены ниже:

Переменная конфигурации Информация
htmx.config.historyEnabled по умолчанию true, действительно полезна только для тестирования
htmx.config.historyCacheSize по умолчанию 10
htmx.config.refreshOnHistoryMiss по умолчанию false, если установлено true, htmx выполнит полную перезагрузку страницы при пропуске истории, а не AJAX-запрос
htmx.config.defaultSwapStyle по умолчанию innerHTML
htmx.config.defaultSwapDelay по умолчанию 0
htmx.config.defaultSettleDelay по умолчанию 20
htmx.config.includeIndicatorStyles по умолчанию true (определяет, загружаются ли стили индикатора)
htmx.config.indicatorClass по умолчанию htmx-indicator
htmx.config.requestClass по умолчанию htmx-request
htmx.config.addedClass по умолчанию htmx-added
htmx.config.settlingClass по умолчанию htmx-settling
htmx.config.swappingClass по умолчанию htmx-swapping
htmx.config.allowEval по умолчанию true, может использоваться для отключения использования htmx eval для определенных функций (например, фильтров триггеров)
htmx.config.allowScriptTags по умолчанию true, определяет, будет ли htmx обрабатывать теги script, найденные в новом содержимом
htmx.config.inlineScriptNonce по умолчанию '', что означает, что к встроенным скриптам не будет добавлен nonce
htmx.config.attributesToSettle по умолчанию ["class", "style", "width", "height"], атрибуты, которые необходимо установить во время фазы установления
htmx.config.useTemplateFragments по умолчанию false, HTML-теги шаблонов для парсинга содержимого с сервера (несовместимо с IE11!)
htmx.config.wsReconnectDelay по умолчанию full-jitter
htmx.config.wsBinaryType по умолчанию blob, тип двоичных данных, получаемых по подключению WebSocket
htmx.config.disableSelector по умолчанию [hx-disable], [data-hx-disable], htmx не будет обрабатывать элементы с этим атрибутом или родительским элементом
htmx.config.withCredentials по умолчанию false, разрешить межсайтовые запросы Access-Control с использованием учетных данных, таких как куки, заголовки авторизации или сертификаты TLS-клиента
htmx.config.timeout по умолчанию 0, количество миллисекунд, которое запрос может занимать, прежде чем автоматически будет прерван
htmx.config.scrollBehavior по умолчанию «smooth», поведение для усиленного элемента при переходе по страницам. Допустимые значения — auto и smooth. Smooth обеспечит плавную прокрутку до начала страницы, а auto будет вести себя как обычная ссылка.
htmx.config.defaultFocusScroll если выделенный элемент должен быть прокручен в область видимости, по умолчанию false и может быть переопределен с помощью модификатора переключения focus-scroll.
htmx.config.getCacheBusterParam по умолчанию false, если установлено в true, htmx включит параметр cache-busting в GET запросах, чтобы избежать кеширования частичных ответов браузером
htmx.config.globalViewTransitions если установлено true, htmx будет использовать API переходов переходов при вставке нового содержимого.
htmx.config.methodsThatUseUrlParams по умолчанию ["get"], htmx будет форматировать запросы с этими методами, кодируя их параметры в URL, а не в теле запроса
htmx.config.selfRequestsOnly по умолчанию false, если установлено true, будут разрешены только AJAX-запросы на тот же домен, что и текущий документ
htmx.config.ignoreTitle по умолчанию false, если установлено true, htmx не будет обновлять заголовок документа, когда будет найден тег title в новом содержимом
htmx.config.scrollIntoViewOnBoost по умолчанию true, нужно ли прокручивать целевой элемент усиленного элемента в область видимости. Если hx-target пропущен в усиленном элементе, по умолчанию устанавливается body, что вызывает прокрутку страницы в начало.
htmx.config.triggerSpecsCache по умолчанию null, кэш для хранения вычисленных спецификаций триггеров, улучшая производительность парсинга за счет большего использования памяти. Вы можете определить простой объект для использования никогда не очищающегося кэша или реализовать свою собственную систему с помощью объекта прокси

Вы можете установить их напрямую в javascript или использовать тег meta:

<meta name="htmx-config" content='{"defaultSwapStyle":"outerHTML"}'>

Licensed under the Zero-Clause BSD License.
https://htmx.org/reference/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API