QuillJS 1.0 Beta を使用しています。テキスト エディターがあり、ユーザーが最初にコンテンツを作成します。送信をクリックすると.innerHTML()
、エディタから が抽出され、データベースに保存されます。次に、ユーザーがそのコンテンツを編集したい場合は、データベースから html を取得し.pasteHTML()
、Quill の API を使用してエディターに貼り付けます。
HTML をエディターに貼り付けると、テキスト スタイルは問題なく貼り付けられますが、画像を含めると、画像のサイズは、設定したインライン スタイルではなく、画像の自然な高さ/幅に設定されます。何らかの理由で、Quill のクリーナーがこのスタイルを削除しているに違いありません。ストレートhtmlを渡すので、この「クリーナー」を回避できるように渡すパラメーターはありますか?
DB からの 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
スタイリングはご覧の通り。Quill がエディターに貼り付けた後に DOM を表示すると、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;
});