Макрос Umbraco 8 Некоторые HTML-теги не отображаются в бэк-офисе - PullRequest
0 голосов
/ 08 ноября 2019

Я обновляю проект с Umbraco 7 до 8. Я заметил, что в 8, только некоторые html-теги будут отображаться из макро-html-файла. Например, если я использую следующий html в моем частичном представлении макроса: -

<div>
    <button>send</button>
    <input type='text' placeholder='some field' style='border: solid 1px #000' />
    <a href="https://www.google.com">some link</a>
</div>

В бэк-офисе html в DOM будет выглядеть следующим образом: -

enter image description here

Тэг A и div отображаются нормально, но кнопка и ввод удаляются. Я пытался использовать HTML.Raw безрезультатно.

Когда я публикую контент, он отображается нормально: - enter image description here

Кто-нибудь сталкивался с этим в Umbraco 8?

1 Ответ

0 голосов
/ 13 ноября 2019

Оказывается, теги и атрибуты HTML удаляются из файла Umbraco / lib / angular-sanitize / angular-sanitize.js.

Существует ряд переменных белого списка, которые вы добавляете для добавленияВаши html-теги и атрибуты к ним - бэк-офис будет их отображать.

    // Safe Block Elements - HTML5
      var blockElements = extend({}, optionalEndTagBlockElements, stringToMap('address,article,' +
              'aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,' +
              'h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul,form')); //SG: added form

      // Inline Elements - HTML5
      var inlineElements = extend({}, optionalEndTagInlineElements, stringToMap('a,abbr,acronym,b,' +
              'bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,' +
            'samp,small,span,strike,strong,sub,sup,time,tt,u,var,input,button')); //SG: added input, button

  // Blocked Elements (will be stripped)
  var blockedElements = stringToMap('script'); //SG: Removed ,style

  var htmlAttrs = stringToMap('abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,' +
      'color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,' +
      'ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,' +
      'scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,' +
        'valign,value,vspace,width,action,method,autocomplete,enctype,style'); //SG: Added action,method,autocomplete,enctype,style

Подробнее об этой «функции» umbraco 8 можно прочитать здесь - https://www.stephengarside.co.uk/blog/webdev/umbraco-8-removing-html-tags-and-attributes-from-macros-in-back-office/

...