Как установить или переопределить target = "_blank" в теге привязки в 'sanitize-html'? - PullRequest
0 голосов
/ 11 мая 2018

Я использую sanitize-html в моем проекте.Предположим, я получил письмо с тегом привязки, примерно так: this is to test something <a href="https://www.google.com/">open google</a>

Это письмо появляется в моем почтовом ящике так: this is to test something open google

, которое открывает google.com вта же вкладка.Но мне нужно открыть в новой вкладке .Вот мой код

__html = sanitizeHTML(children, {
        allowedTags: sanitizeHTML.defaults.allowedTags.concat([ 'img' ]),
        allowedAttributes: {
          '*': [ 'href', 'align', 'alt', 'center', 'bgcolor', 'style', 'width' ],
          'img': ['src'],
          'a' : ['target'] 
        },
       }

Здесь я хочу установить или переопределить target = "_blank".Как этого добиться в sanitize-html ?

К сожалению, я не смог найти тег для sanitize-html.

1 Ответ

0 голосов
/ 11 мая 2018

Согласно READ.MD/doc и описанию вашей проблемы, что-то вроде:

__html = sanitizeHTML(children, {
    ...,
    transformTags: {
      'a': function(tagName, attribs) {// simpleTransform also possible...
       return {
        tagName: 'a',//tagName
        attribs: {
            target: '_blank',
            href:   '*'
        }
    };
}

... должно это сделать.

РЕДАКТИРОВАТЬ:

Лучшее решение с сохранением текущих (разрешенных!) Атрибутов:

....
 transformTags: {
   'a': sanitizeHtml.simpleTransform('a', {target: '_blank'})
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...