Delphi 12.2 新出的 WebStencil 组件和 Quill 编辑器配合的问题
Quill editor 是一个很不错的开源的前端浏览器页面里利用的富文本编辑器。如果我们利用 Delphi 12.2 最新推出的 webStencil 组件来开发一个 WEB 步伐,又利用了类似的富文本编辑器,有一个小问题需要留意。
问题描述
在富文本编辑器里面输入的文字,有各种格式。提交保存后,把保存的内容读取出来呈现到页面上,页面显示出来的文字没有格式,额外多了一些奇怪字符。
问题缘故原由
起首,Quill Editor 输出的文字,其格式化好比粗体,其实就是尺度的 html 标志好比 <strong>这是粗体文字</strong>
我在服务器端的步伐不利用 WebStencil 而是直接把保存的内容写到一个页面上,页面上能正确显示出来之前在富文本编辑器里面的格式。测试代码大抵如下:
Response.Content := '<html><head></head><body>' + MyRichContent + '</body></html>'; 而正式的页面是利用 WebStencil 来输出的。也就是页面文件里面,需要显示内容的地方,我利用了一个 WebStencil 的标志:
@MyDoc.Content 查文档,里面提到:
Note: The output of values processed by WebStencils is encoded using the TNetEncoding.HTML.Encode method. You can suppress any encoding by using the syntax @\value.
立即试试,把页面里面的标志修改为以下标志:
@\MyDoc.Content 再次革新浏览器,正确的格式出来了。
总结:
@ 符号后面不加斜杠,WebStencil 会把内容利用 TNetEncoding.HTML.Encode 来编码,就把文字格式需要的尖括号“<”和“ >” 给转义成了 < 和 > 使得页面上直接显示其转义符号而不是根据加括号显示出文字的格式来。而利用 @ 符号后面加个斜杠,则内容被 WebStencil 处置惩罚的时间不会去编码,相称于直出,问题就不存在了。
感想
利用 WebStencil 来做页面,确实比自己去处置惩罚页面字符串,可以少写很多代码,整个代码看起来也舒服很多。看起来这个玩意照旧很有效的。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]