内部拖放出现奇怪问题——内容丢弃 === “null”
问题
你好@artf, 我遇到了一个非常奇怪的问题,与HTML5拖放有关。 当我在 grapesjs 中选择一些混合内容,包括可编辑的文本内容和周围的组件作为一个整体选择时,丢失(复制)的内容有时是“null”(包含“null”文本值的字符串,而不是 JavaScript 的 null)。 我已经用 Chrome 71.0.3578.98 的 Newsletter 演示成功复现了这个问题。我不知道其他浏览器是否也会出现这种情况......  当问题出现时,我注意到在捕捉 canvas:dragdata 事件时,result.content 变量是“null”(字符串)。我查了调用栈,发现这个值来自grapesjs核心函数Droppable.getContentByData()中的dataTransfer.getData(“text/html”)调用: '} 否则如果 (((0, underscore.indexOf)(types, 'text/html') >= 0) { content = dataTransfer.getData('text/html').replac...
回答(3)
谢谢你的报告@arachnosoft 顺便说一句,我能复现它,但只有在第一个CKEditor实例激活后,你能确认吗?
是的,@artf,这似乎正是测试案例...... 如果我刷新页面以获得干净的上下文,清空画布,丢弃一个网格组件(相当复杂的),选择部分文本和周围单元格(但不激活CKEditor),然后从文本中拖拽,它就能正常工作。 但只要我双击某个单元格激活CKEditor,点击其他地方关闭编辑,并按照上面完全相同的步骤(选择和拖拽完全一样),丢失的内容就会变成“null”。 方法。我不知道这是不是“设计使然”,或者这是否能解释这类问题。
是的,这就是他们的内嵌插件工作方式,但我觉得这和这有什么关系
顺便说一句,CKEditor确实会在dataTransfer对象和编辑中添加类型,出于某种原因(可能是为了处理它们的一些边缘情况),“文本/纯文本”(GrapesJS完全依赖原生对象,但不涉及它们)。
相关问答
通过相似的问题讨论继续研究。
问题 #1767
确保getHtml() / runCommand(“gjs-get-inlined-html”)返回画布的最新内容
你好@artf, 我遇到过类似甚至相同的问题:#1327 编辑文本块时,我点击一个外部按钮获取画布内容,不离开画布的光标。 此时,如果我调用 getHtml() 或 runCommand(“gjs-get-inlined-html”)(我的 grapesjs 是用 Newsle...
问题 #4323
当你在Canvas上有2k组件时,拖拽组件到画布时出现性能问题
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Google Chrome 版本 101.0.4951.41(官方版本)(64 位)可复制演示链接 https://jsfiddle.net/Laze0pyg/描述一下那个虫子 如何复现这个漏洞?使用...
问题 #4559
RTE操作第一次后就无法正常使用
嗨..!,RTE操作第一次后就不起作用了,当我们尝试对之前应用的元素应用该动作时,它无法正常工作 从版本0.18.3到最新版本都会出现这个问题,以下版本运行正常 复制链接 工作版本: https://jsfiddle.net/76gnxh4d/35/ 无法正常工作的版本: ht...
问题 #4506
拖拽模式下的拖拽块错误:绝对
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v103 可复制演示链接 https://stackblitz.com/edit/js-1xpo7b 描述一下那个虫子 如何复现这个漏洞?使用dragMode:绝对(设计师模式)从块...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。