Некоторые альтернативы методу insertAdjacentHTML в JavaScript:
- innerHTML. 1 Позволяет вставить строку HTML внутрь атрибута innerHTML контейнера и затем получить доступ к созданному узлу DOM. 1 Метод обрабатывает только допустимые узлы HTML и не выполняет скрипты. 1
- DOMParser. 1 Работает медленнее остальных, поскольку разбирает строку, создавая полный HTML-документ, и только потом извлекает узел из документа. 1 Метод также обрабатывает только допустимые узлы HTML и не выполняет скрипты. 1
- Range.createContextualFragment. 1 Самый простой, но не безопасный метод. 1 Выполняет скрипты, поэтому при его использовании необходимо очищать данные для защиты от XSS, например, с помощью DOMPurify. 1
- DocumentFragment. 2 Помогает вставить пачку узлов единовременно. 2 В отличие от insertAdjacentHTML, работает с коллекцией DOM-узлов. 2
- append/prepend/before/after. 3 Эти методы позволяют вставлять как узлы, так и текст. 3
- cloneNode. 3 Альтернатива — клонировать существующий элемент и изменить текст внутри него (при необходимости). 3
Выбор альтернативы зависит от конкретных требований к проекту и совместимости с браузерами. 4