Мы используем QuillJS 1.0 Beta. У нас есть текстовый редактор, и пользователь изначально создает контент. Когда они нажимают кнопку «Отправить», он извлекает из редактора .innerHTML()
и сохраняет его в нашей базе данных. Затем, если пользователь хочет отредактировать этот контент, мы вытаскиваем html из нашей базы данных и используем .pasteHTML()
из API Quill для вставки его в редактор.Как назначить ширину и высоту attr's в дельтах QuillJS/Rich-Text
Когда мы вставляем html в редактор, стилизация текста вставляется просто отлично, но когда мы включаем изображения, размер изображения устанавливается на естественную высоту/ширину изображения вместо встроенного стиля. есть комплект. По какой-то причине чистильщик Quill должен удалить этот стиль. Есть ли параметр, чтобы пройти, чтобы мы могли избежать этого «чище», поскольку мы проходим прямо в html?
Вот некоторые из HTML строки, которая приходит из БД выглядит следующим образом:
<p class="ql-align-center"><strong class="ql-size-huge" style="color: rgb(255, 255, 255);"> $450 Referral Bonus</strong></p><p class="ql-align-center"><strong class="ql-size-small" style="color: rgb(186, 35, 35);">Phone a friend!</strong></p><p class="ql-align-center"><img width="145" height="140" style="width: 145px; height: 140px;" src="data:image/png;base64,iVBORw0KG
Как вы можете видеть, стиль есть. Когда я просматриваю DOM после того, как Quill вставляет его в редактор, тег img не имеет ни одного из этих стилей. Есть идеи?
Я пытался добавить Сличитель, который будет интерпретировать тег изображения определенным образом, но независимо от того, что я делаю, я не могу получить ширина/высота придерживаться:
quill.editor.clipboard.addMatcher('IMG', function(node, delta) {
let imgWidth = node.width;
let imgHeight = node.height;
var delta2 = new Delta([{
insert: { image: node.src },
attributes: {
width: imgWidth,
height: imgHeight
}
}]);
return delta2;
});
Я столкнулся с той же проблемой :( –
Это ошибка с текущим выпуском. Я потянулся к Джейсону, и он подтвердил: он работал над исправлением, поэтому я предполагаю, что следующий релиз будет исправлен. Однако, в то же время я придумал решение.Если вы нацеливаете container.innerHTML и просто устанавливаете этот атрибут в строку html, он отлично работает. – James
Большое спасибо за ответ. Можете ли вы предоставить пример кода для него. Заранее спасибо –