Этот пакет не похож на актуальный - фактический файл дезинфицирующего средства составляет не менее трех лет (в соответствии с меткой времени git). Я бы не рекомендовал использовать эту версию.
К сожалению, в настоящее время нет параметров для дезинфицирующего средства, которое просто поставляет альтернативный белый список. (Есть причины, это может измениться в будущем, но это еще не произошло.)
Самый простой способ изменить встроенный в белый список, чтобы получить дерево исходных Каха, изменять и перестраивать src/com/google/caja/lang/html/*-whitelist.json
($ ant
); дезинфицирующее средство в той же форме, что и вы, было построено в ant-lib/com/google/caja/plugin/html-sanitizer-bundle.js
.
Вы также можете настроить поведение напрямую, используя политику тегов. Вместо вызова sanitize(html)
используйте sanitizeWithPolicy
:
var basicPolicy = html.makeTagPolicy();
function customPolicy(tagName, attribs) {
if (/* whatever additional condition you want */) {
return basicPolicy(tagName, attribs);
}
}
...
return html.sanitizeWithPolicy(input, customPolicy);
Однако это требует, чтобы запрограммировать желаемое ограничение, а не использовать существующую логику белого списка с имеющимися данными. Он также более чувствителен к возможным изменениям в санизирующем API в будущем.