2016-12-02 2 views
0

Недавно я начал свой первый проект с JHipster и создал два объекта. Одна из сущностей напоминает блог. Этот блог имеет атрибут content, который работает с текстовым полем. в моем blogs.html файл я включил использование HTML-теги в моем текстовом поле, как так:Встроенный стиль в HTML textarea проигнорирован

<div ng-bind-html="topic.content"></div> 

Это работает без проблем. Я могу определить html-теги в своем текстовом поле, и они интерпретируются как таковые.

Но проблема начинается с стилизации моих недавно сформированных атрибутов. простого DIV с встроенными стилями:

<div style="font-size:100px"> Test</div> 

получает интерпретировать как HTML, но стиль получает пропущено. Я также судимый использовать нг-стиль вместо:

<div ng-style="font-size:100px"> Test</div>` 

но то не работает. В случае, если мои стили могут быть перезаписаны, я также попытался установить флаг !important без успеха.

Мне немного сложно предоставить фактический код, так как jhipster сгенерировал мои сущности полностью автономными. Я не могу определить, будет ли какой-нибудь скрипт отменять мои стили или запретить использование тегов стиля в целом. Тем не менее я сделал несколько снимков, которые могли бы помочь понять эту проблему:

это мое текстовое поле, в котором пользователь делает его вход this is my textarea in which the user does his input

это как результат выглядит, обратите внимание на «тест» текст должны окрасить:

this is how the result looks, notice the "test" text should be coloured

И последнее, но не в последнюю очередь я пытаюсь представить, как мой браузер разрешает атрибут:

how my browser resolves the attribute

Я ценю вашу помощь!

+0

сделал попытку «! Important»

Test
мог бы, что вы предпочитаете переопределять стиль. Если нет, то можете ли вы предоставить мне образец? – user3249448

+0

@ user3249448 Я уже пробовал этот. Я забыл упомянуть об этом в моем вопросе. Спасибо –

+0

Можете ли вы воссоздать проблему в скрипке? Также вы можете опубликовать образ Dev Tools во время проверки этого div? Это может действительно помочь, спасибо :) –

ответ

1

Я думаю, что дезинфицирующий является зачистка тега стиля ...

Вводить службу ScE $ в контроллере картографической функции trustAsHtml к виду:

$scope.trustAsHtml = function(string) { 
    return $sce.trustAsHtml(string); 
}; 

, то вы можете сделать это:

<div ng-bind-html="trustAsHtml(topic.content)"></div> 

это должно решить вашу проблему, но знайте, что ваш topic.content исходит из проверенного источника (не от входа пользователя), или вы могли бы нападение инъекции ...

+0

спасибо, что исправил его :) –

Смежные вопросы