GrapesJS 问题

已收录 3,464 个 GitHub 问题 370 个已解决 · 90 个待解决 搜索、筛选并探索经过实战检验的答案。

找到 743 个问题

🔍 bug
#27652020年5月12日作者 svalenciano813 个回答
2 个反应

退格键触发器返回

你好, 在 Firefox 75.0 中,当按下“退格键”(event.which === 8)时,导航员会返回,Grapesjs 丢失。 复述如下: 打开Firefox浏览器 开放网址:https://grapesjs.com/ 点击:“通讯演示”屁股 从编辑器 usign “退格键”中删除元素(不使用 supr 键) 行为是:导航员回去了,编辑器迷失了。 我正在尝试这个方法,但没有效果: $document.on('keydown', function(e){ 如果(e.which === 8){ // 你可以在括号内添加其他内容。 e.preventDefault(); e.stopPropagation(); } });...

artf

应该会在下一个版本中修复

artf

@juice77这个问题在最新版本中得到了修复 https://github.com/artf/grapesjs/compare/v0.16.17...v0.16.18

tiptronic85

是的,这真的很烦人

#26972020年4月2日作者 kuhelbeher3 个回答
1 个反应

自定义组件类型和表单元的问题

你好!我正在尝试添加自定义组件类型: “JavaScript domc.addType('image-block', { 扩展:“单元”, 型号:{ 默认值:函数 () { 返回 { 名称:“背景图片”, 类型:“图像块”, 标签名称:“TD”, 虚无:虚假, 可掉落:确实如此 } } }, isComponent (el) { if (el.tagName === 'TD' & el.classList.contains('bg-image'))) { return { 类型:“image-block” } } } }) 但当我把这个方块放到画布上时,<td>标签在画布和DOM上都不显示。如果我从组件定义中移除 isCompon...

artf

@kuhelbeher你的代码是正确的(除了是“extend: 'cell'',而不是”extends: 'cell'“),不幸的是,行组件上应用了一个[bug](https://github.com/artf/grapesjs/blob/af602c30743b54288088d965c3805c0b6e0dac40/src/dom_components/model/ComponentTableRow.js#L19)(或错误逻辑),所以目前我建议先添加这个作为补丁: “'...

noogen

@kuhelbeher因为你的组件根据你上面的内容定义是“table”,而不是你 addType 定义的 'td'(tagName' 属性)吗?

kuhelbeher

@noogen 我觉得问题不在这上面。我尝试这样定义组件和模块: “JavaScript domc.addType('custom-cell', { 扩展:“细胞”, 型号:{ 默认值:{ 可移除:错误, 名称:“自定义单元”, 类型:“自定义单元”, 可复制:错误, 标签名:“TD” } } }) bm.add('root', { 标签:“页面包装机”, 类别:opt.类别, 内容: <表宽度=“400px”> <tbody> <tr> <td data-gjs-type...

#26812020年3月24日作者 wemod1233 个回答
2 个反应

: destroy() 方法未能完全移除事件

版本:最新:V-0.16.3。 重要:从v-0.15.9更新到v-0.16.3,保持所有内容不变,错误会在控制台显示: 这个错误显示函数 'getFrameOffset' 中存在错误,位置接近:'e.ownerDocument.defaultView.frameElement': 请参阅[此代码行](https://github.com/artf/grapesjs/blob/4c1e74c8d2b75d2c1cdbd59f288cf75d7d2aa690/src/canvas/view/CanvasView.js#L173) 检查错误堆栈将追踪到[此代码行](https://github.com/artf/grapesjs/blo...

emilsedgh

我同意这需要在销毁函数本身中重新打开并修复。

emilsedgh

谢谢你@artf!🙏

artf

感谢报告@wemod123你能制作一个可复现的现场演示吗?

#26562020年3月16日作者 abozhinov3 个回答
1 个反应

当重复子组件时工具栏位置错误

你好, 你可以看看这个例子:https://codepen.io/abozhinov/pen/XWbqjEJ 重现问题的步骤:如果组件存在,则全部删除。拖动一个新的旋转木马方块。选择第一个儿童容器。点击复制图标以创建新组件。之后尝试选择最新的组件,然后再次选择第一个组件。工具栏位置错误,因为浏览器无法获取元素的宽度和高度。 [错误]TypeError: null 不是对象(评估 'this.canvas.getHighlighter(t).style') showHighlighter(grapes.min.js:2:263826) 更新工具本地(grapes.min.js:2:266937) (匿名功能)(grapes.min....

abozhinov

当用“select-comp”命令覆盖这两种方法时,一切运行完美。 问题是“el”在DOM里并不存在。 ` onHovered(em, component) { 设结果 = {}; 如果(分量) { const { view } = component; const { el } = view; const pos = this.getElementPos(el); 结果 = { EL, POS, Component, View }; 如果 (pos.width > 0)...

abozhinov

触发渲染而不是重置时得到的结果是一样的。

abozhinov

@artf试玩版也是一样的。只需拖动旋转木马,点击幻灯片即可。 <img width=“1440” alt=“截图 2020-03-16 14 58 23” src=“https://user-images.githubusercontent.com/1404839/76760669-b8b75780-6796-11ea-8e24-8946e27949f9.png”>

#25712020年2月17日作者 h3llomoto3 个回答
0 个反应

图层可视化 BTN

顺便说一句,如果我更改了可见性状态——GJS会移除显示样式,然后当我点击“显示图层”时,它也无法恢复显示样式。 我觉得这是个bug。GJS 应该把当前显示器的选项保存在图层可见按钮点击恢复时。

artf

我同意 👍

h3llomoto

好了,大家,如果你们需要,我找到了一个热修复方法: “JavaScript 设 itmView = 编辑器。LayerManager.getAll(); itmView.proto.toggleVisibility = function(e) { e & & e.stopPropagation(); const model = this.model; const style = model.getStyle(); const hidden = style.display =...

artf

谢谢@h3llomoto逻辑完全正确,我也会做同样的改动,但更习惯性一点

#25472020年2月4日作者 sdrebel3 个回答
0 个反应

如果样式的值是底部或右边,无法拖动元素

你好@artf, 如果任何组件CSS的值是底部或右边,就无法拖动它们。数值以NaN形式生成。附上截图供参考。 ![图片](https://user-images.githubusercontent.com/19382262/73723718-bb626e00-474f-11ea-8953-11156f96c926.png)

artf

你能制作一个可复现的演示吗?

sdrebel

你能制作一个可重复的演示吗? 你好@artf 演示链接在这里 https://jsfiddle.net/fn43hpj1/2/ 你可以查看“弹窗”组件。 因为在可拖拽模式下风格会被覆盖,所以我得到了样式和更新onRender的方法。

artf

因为在可拖曳模式下风格会被覆盖,我就用了样式和更新 onRender 的方法。 是的,这会在下一个版本中修复,我稍后会用你的例子来确认。

#25082020年1月14日作者 alexiswbr3 个回答
1 个反应

在最终 HTML 文本组件中添加的可拖拽属性

这个漏洞也出现在在线演示中:https://grapesjs.com/demo.html在页面上添加文本块,开始输入并按回车键,形成多行分隔。取消选择该块。双击该块重新开始编辑。 现在如果你点击“查看代码”按钮,你会看到文本块内的HTML节点有一些“draggable=”true“属性。 这总是在第三步发生。第一次编辑文本并添加断行时,只要你不想以后再编辑区块,一切都没问题。 问题是,在网站最终显示的 HTML 中,这些属性依然存在。你无法选择任何东西,因为导航员会解释可拖拽属性。 是的,我会分别保存“html”和“组件”两个 我觉得这像是个bug,或者我误解了别的什么 ![draggable-html-bug-1](https:...

artf

好的,我会试着去看看

pouyamiralayi

@alexiswbr使用下面的摘要,'div' 将变成 'br'',作为预期的行为:

obrazkow

我用这种方式防止被转换成组件,同时保留原始 html。 只需覆盖你需要的组件,比如“文本”或创建新组件即可。 也许这不是个好办法,但确实有效:)

#25012020年1月10日作者 senchden1 个回答
0 个反应

视频特征在解析视频时不会传播到属性

预期行为: 在检查某些HTML5视频属性后,这些属性会在重新加载时持续存在,复选框会反映当前状态。 实际行为: 加载已设置属性的视频后,复选框显示默认值已设置。 繁殖步骤:选择HTML5视频提供商。选择视频路径和所有复选框重新加载页面再次选择视频,发现复选框已重置为默认状态(循环和自动播放未勾选,控制选项被勾选)。 Reproducible in web page demo v0.15.10 请参见附上的屏幕播放: ![视频特征非解析](https://user-images.githubusercontent.com/31250983/72164176-80c21b80-33c5-11ea-88e4-c5981f1c84c6.g...

artf

找到问题了,下一个版本会修复

#24982020年1月8日作者 obrazkow3 个回答
1 个反应

尝试从行移动单元格时出现错误。

Bug [#2478](https://github.com/artf/grapesjs/issues/2478)发布后依然存在。 重复这些步骤,你会得到错误 未捕获类型错误:无法读取未定义的属性“indexEl”。 也可以是在你的演示中复现

artf

不行 🤦 ♂️ 下次版本会修复。 谢谢@bgrand-Ch

artf

好的,看起来我们还得修正“endMove”函数

bgrand-ch

@artf释放了,还是关闭了?

#24782019年12月29日作者 obrazkow3 个回答
0 个反应

尝试将单元格从行移动时出现错误

如果尝试从正文上的表格移动单元格,则会出现错误 ![图片](https://user-images.githubusercontent.com/56313520/71551300-c1488f00-29ec-11ea-8638-7c68e16875ee.png) Grapesjs的演示 https://grapesjs.com/demo-newsletter-editor.html 也出现了错误

obrazkow

分拣器出了问题。 function dimsFromTarget 返回空数组,当目标元素不在可拖拽列表中时 参见 https://github.com/artf/grapesjs/blob/dev/src/utils/Sorter.js#L644(未找到目标) https://github.com/artf/grapesjs/blob/dev/src/utils/Sorter.js#L648(返回空数组) 在此函数之后调用 getTargetModel,目标未定义,出现错误...

artf

你能告诉我具体怎么复现这个错误吗?因为我拖动单元格没有看到任何错误

obrazkow

第一个错误。选择单元格包装器(见截图),尝试拖动它控制台中会出现错误 ![图片](https://user-images.githubusercontent.com/56313520/71686681-89eb3100-2da4-11ea-9ac2-b5602cb5fe56.png) 更多细节我附上了两个视频文件的链接。当我尝试复制时,又发现了一个bug。试试先选一个组件,比如文本并移动它,然后选择单元格,再拖动它。你会发现那条目的地线位置错误 https://dropme...

浏览所有主题