Правильный способ использует insertAdjacentHTML
. В Firefox раньше 8 вы можете вернуться к использованию Range.createContextualFragment
, если ваш str
не содержит тегов script
.
Если ваш str
содержит метки script
, вам нужно удалить script
из фрагмента, возвращаемого createContextualFragment
, перед вставкой фрагмента. В противном случае скрипты будут запущены. (insertAdjacentHTML
отмечает, что скрипты не исполняются.)