jQuery 3.5.0 был выпущен 10 апреля 2020 года. Это второстепенная версия, но содержит исправление безопасности, которое описывается как критическое изменение.
Основным изменением в этом выпуске является исправление безопасности, и, возможно, вам потребуется изменить собственный код для адаптации. Вот почему: jQuery использовал регулярное выражение в своем методе jQuery .htmlPrefilter, чтобы гарантировать, что все закрывающие теги были X HTML -совместимыми при передаче в методы. Например, этот префильтр гарантировал, что вызов, подобный jQuery("<div class='hot' />")
, на самом деле преобразуется в jQuery("<div class='hot'></div>")
.
. Примерно jQuery.htmlPrefilter
теперь использует строку без изменений.
Я попробовал приведенный выше пример и получил ожидаемый результат в 3.5.0. Что именно изменилось? Каково влияние этого изменения и что я должен адаптировать в своем коде, если что-нибудь?
Вот тест, который я выполнял:
console.log($("<div class='hot' />")[0].outerHTML == '<div class="hot"></div>')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.0/jquery.min.js"></script>