内部拖放出现奇怪问题——内容丢弃 === “null”
问题
你好@artf, 我遇到了一个非常奇怪的问题,与HTML5拖放有关。 当我用鼠标选择 grapesjs中混合内容,包括可编辑的文本内容和周围的组件作为整体选择时,丢失(复制)的内容有时是“null”(包含“null”文本值的字符串,而非JavaScript的null)。 我已经在 Chrome 71.0.3578.98 的新闻通讯演示中成功重现了这个问题。我不知道其他浏览器是否也会出现这个问题......  当问题出现时,我注意到在捕捉canvas:dragdata事件时,result.content变量是“null”(字符串)。我查看了调用栈,发现这个值来自dataTransfer.getData(“text/html”)调用, grapesjs核心Droppable.getContentByData()函数: '} 否则如果 (((0, underscore.indexOf)(types, 'text/html') >= 0) { content = dataTransfer.getData('text/html').replace(/<\/?...
回答(3)
谢谢你的报告@arachnosoft 顺便说一句,我能复现它,但只有在第一个CKEditor实例激活后,你能确认吗?
是的,@artf,这似乎正是测试案例...... 如果我刷新页面以获得干净的上下文,清空画布,丢弃一个网格组件(相当复杂的),选择部分文本和周围单元格(但不激活CKEditor),然后从文本中拖拽,它就能正常工作。 但只要我双击某个单元格激活CKEditor,点击其他地方关闭编辑,并按照上面完全相同的步骤(选择和拖拽完全一样),丢失的内容就会变成“null”。 方法。我不知道这是不是“设计使然”,或者这是否能解释这类问题。
是的,这就是他们的内嵌插件工作方式,但我觉得这和这有什么关系
顺便说一句,CKEditor确实会在dataTransfer对象和编辑中添加类型,出于某种原因(可能是为了处理它们的一些边缘情况),“文本/纯文本”(GrapesJS完全依赖原生对象,但不涉及它们)。
相关问答
通过相似的问题讨论继续研究。
问题 #4173
Text element does not work properly
GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome v98可复制演示链接 https://grapesjs.com/demo.html描述一下那个虫子 我打开了一个笔记本(Win11) 我在记事本上写了:测试 [回车] 测试 [...
问题 #3579
在放置“activeOnRender”组件后立即打开RTE时丢失了
版本: 0.17.4 你能重现演示中的bug吗?[x] 是的[ ] 不 繁殖步骤:前往[演示](https://grapesjs.com/demo.html)在画布内放置一个“文本”方块点击刚刚丢弃的“文本”组件打开的RTE丢失了位置(参见[附图](https://user-i...
问题 #3130
标准方法:对HTML工具栏和徽章进行轻微重构
版本: '0.15.10' 这个问题旨在验证是否有合适的方法通过自定义插件扩展当前 https://github.com/artf/grapesjs/blob/master/src/canvas/view/CanvasView.js。我们特别回顾了该文件中的“render()”...
问题 #2834
Grapesjs 不会为包装器初始化样式
你好,我遇到了一个 bug grapesjs 无法初始化 wrapper 的样式。繁殖步骤:前往 https://grapesjs.com/demo.html选择包装并设置背景。它会为样式添加“正体”规则,并且会显示在样式设置中刷新页面——“正文”规则依然存在(你可以在“查看代...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。