GrapesJS 问题

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

找到 85 个问题

🔍 help wanted
#27222020年4月17日作者 tomaskallup3 个回答
0 个反应

高亮和工具栏在外部滚动中位置错误

你用的是最新版本吗(旧版本不支持)?是的 你是在本地版GrapesJS遇到这个bug,还是当前的演示版?地方操作系统:Archlinux浏览器:Firefox 74.0 和 Firefox 开发者版 75.0b11葡萄:v0.16.3 预期的行为是什么?高亮应在外部滚动时更新其位置 结果会怎样? ![葡萄卷轴发行](https://user-images.githubusercontent.com/26621166/79562540-91142180-80ab-11ea-9fc3-8107c94759c6.gif) 我尽力模仿这种行为,但没成功。即使使用同一个栈(Parcel、Typescript、React、Ant Design...

artf

是的,真的很奇怪,我最初猜测是Canvas工具栏在窗口“滚动”时没有更新,所以我尝试创建一个非全屏的长页面示例,但我发现主窗口上没有“滚动”监听器,因为不需要,工具栏的位置是正确的。 所以,我能想到的唯一合理问题可能是Firefox浏览器(请尽量在Chrome浏览器里查看你的页面),或者你可能在iframe里加载页面,因为这可能是个问题,这种情况下你需要设置一个“滚动”监听器并将其传播到编辑器

tomaskallup

你好,谢谢你的回复! Firefox似乎不是问题所在(Chrome上也有同样的行为) ![图片](https://user-images.githubusercontent.com/26621166/79864366-a655bc80-83d9-11ea-99f9-25349e219ab9.png) 而且复制仓库在两个浏览器中都能正常运行,没有这个bug。 我没有在iframe里加载任何东西(这是从实际页面的检查员布局) ![图片](https://user-images....

tomaskallup

@artf我想我找到了原因,我们的根元素 '<div id=“❤”“>' 有这样的样式: “''CSS #❤ { 高度:100 VH; 显示:flex; } ``` 把它添加到复制仓库后,问题就出现了!(去除“弹性”似乎能解决问题,我会调查是否真的需要,但至少现在有实际的繁殖能力了)

#26922020年4月1日作者 mazuschlag3 个回答
0 个反应

快速点击鼠标或移动可能会导致编辑器卡死

首先感谢你为这个项目所做的所有努力!这是一个非常棒的项目,很多人都依赖它,感谢你的努力。 这个设定有点奇怪,但基本意思是,点击元素时快速移动鼠标可能会导致建造器卡住。这不总是大问题,但快速工作时会让人烦躁。你可以在GrapesJS网站的演示页面重现这个问题。 要重现:打开GrapesJS并添加各种内容点击并快速移动鼠标到元素上。 它不一定每次都能复制,但一旦复制,整个建造者就会冻结。随着编辑器中内容的增加,这种情况可能会变得更糟/更容易复现。

artf

你好,@mazuschlag,感谢你的好评。关于这个问题,你能详细说明一下“点击和移动”的行为吗?我是不是应该只选一个组件,只在鼠标上移动?之前有个问题是移动组件会导致应用冻结(基本上可以把组件丢进自己的子组件里,导致无限循环),但几个版本前修复了。

mazuschlag

嗯,这听起来确实有点像我遇到的问题。这需要按住鼠标左键,快速拖动组件后再松开。这种情况发生在快速操作时——你点击一个组件,当你把鼠标移开(同时还在向下点击一会儿)时,编辑器会“卡住”。你可以通过再次点击组件并拖动它来解冻。

artf

@mazuschlag,你用的是旧版还是最新的Grapesjs?我无法在最新版本中复现它

#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你能制作一个可复现的现场演示吗?

#26652020年3月19日作者 darylamonica3 个回答
1 个反应

移动设备上的键盘在文字编辑中无法显示?还有其他人吗?

还有其他人遇到这个问题吗?或者已经解决了?用平板编辑似乎很合理。使用移动设备时,我无法让键盘在编辑文本字段时显示出来。即使用了Grapes Touch插件也没用。这里有一个例子: [http://jsfiddle.net/v9kecdpz/](http://jsfiddle.net/v9kecdpz/)

bgrand-ch

你好, 对于未来的问题或技术问题(非漏洞),GitHub的[讨论](https://github.com/artf/grapesjs/discussions)标签是最佳选择。 如果问题已解决,请关闭,或在[讨论](https://github.com/artf/grapesjs/discussions)->[问答](https://github.com/artf/grapesjs/discussions/categories/q-a)类别写一条详细的新消息(并关闭本期)。...

darylamonica

还有什么办法能得到回复吗?我附带了一个演示版。许多已回答的问题没有示例。那么,我到底哪里做错了?

artf

提供更多关于设备(操作系统、浏览器等)的信息。

#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”>

#26122020年3月2日作者 pradeeshattlee1 个回答
0 个反应

GrapesJs 资产管理器无法支持支持 iPad 和 Touch 的设备

嘿,@artf 我有个关于资产管理(Asset Manager)的问题。通过电脑或网址上传图片时,你可以用左侧面板的命令创建图片块,双击编辑,一切似乎都很正常。但我在iPad或支持触摸的设备上尝试同样的操作时,还是不行,我用了这个插件,其他功能都正常工作。 网址 - https://github.com/artf/grapesjs-touch 资产管理器在iPad上都没有弹出——Chrome、Firefox和Safari都没有。 而且编辑器画布滚动功能在iPhone上都不行——Chrome、Firefox和Safari都不行。 我到底漏掉了什么? 提前感谢大家。

bgrand-ch

你好, 对于未来的问题或技术问题(非漏洞),GitHub的[讨论](https://github.com/artf/grapesjs/discussions)标签是最佳选择。 如果问题已解决,请关闭,或在[讨论](https://github.com/artf/grapesjs/discussions)->[问答](https://github.com/artf/grapesjs/discussions/categories/q-a)类别写一条详细的新消息(并关闭本期)。...

#25932020年2月21日作者 Davidvlv2 个回答
0 个反应

Flex-direction:列在Chrome和Safari中会造成极度卡顿

你好, 我们遇到了一个大问题——我们的布局大量使用“显示:弹性;flex-direction: column;',这导致Chrome和Safari浏览器(非Firefox)出现极大延迟。 如果“flex-direction”风格设置为“row”,则完全没有减速。 样本:https://jsfiddle.net/gkeft254/ 点击内侧元素,复制并拖动。 视频: [葡萄slowdown.zip](https://github.com/artf/grapesjs/files/4234338/grapesjs.slowdown.zip)

artf

是的,确实慢了,不确定具体情况,但初步猜测可能是这个函数,它检查组件是块(比如div)还是内联元素(比如span)。 https://github.com/artf/grapesjs/blob/1214bbd957e88df78cd99491e53ab243010cd1ed/src/utils/Sorter.js#L549 任何帮助都非常欢迎

artf

无法再繁殖了

#25922020年2月21日作者 kaoz703 个回答
4 个反应

模态宽度

你好,有没有办法设置模态的宽度?目前CSS设置为850px,但我想创建一个文字量较少的对话框,而且太大了: ![图片](https://user-images.githubusercontent.com/79406/74995098-d9052800-541d-11ea-9563-0ec3c8a3dc24.png) 但如果能有这个就太好了: ![图片](https://user-images.githubusercontent.com/79406/74995129-f33f0600-541d-11ea-936d-15570597a6f6.png) 不覆盖CSS,因为我仍然想使用大型模态。 我查了源代码和文档,似乎唯一能设置的属性是...

ronaldaug

对于那些不知道如何使用模态“属性”的人来说, 你可以在 modal 的 open 方法中添加选项“opts.attributes”,如下所示。 “JavaScript const modal = 编辑器。模态; const opts = { 属性:{ class:'my-custom-class', id:'my-custom-id' } } modal.open(opts); ``` 因为我在[这里的文档](https://grapesjs.com/docs/api/mo...

kaoz70

好的,我想做一个函数来设置宽度,比如:setWidth('400px'),还有一个自定义属性的方法:setAttributes({'data-custom-attribute': 123})。 我觉得需要两个函数,因为宽度由CSS控制,模态设计也是,所以在这种情况下让用户设置宽度就足够了。属性函数则用于其他需要的情况 你怎么看?

kaoz70

你好,抱歉我现在工作堆得很满,如果@sunnykgupta能试试这个就太好了。

#25862020年2月19日作者 liudmyla-schastlyvets2 个回答
0 个反应

:如何用少数设备和自定义CSS类更新样式管理器面板

简单 grapesjs [project](https://jsfiddle.net/qax3Lfoe/) 添加了一个自定义类: 如果没有设备,且用户将类添加到选择器字段中,设置扇区的字体大小属性会正确更新。 <img width=“1440” alt=“截图 2020-02-19 凌晨2点33分50分” src=“https://user-images.githubusercontent.com/32596493/74790527-7b0efe00-52c0-11ea-9999-a98fa654de56.png”> 如果设备数量很少(其中一个是类似的) 用户将类添加到选择器字段设置扇区时,其字体大小属性没有正确更新。 <img...

artf

不幸的是,这是因为 ['getComputedStyle'](https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle) 的工作方式,它返回已解析的值,所以用 'rem' 而不是 'px' 会“混淆”这个值。 目前我没有解决这个问题的计划,但我非常希望能有个永久居民,或者至少给我一个解决办法

artf

这应该会在最新版本中修复 https://github.com/artf/grapesjs/releases/tag/v0.18.1

#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逻辑完全正确,我也会做同样的改动,但更习惯性一点

浏览所有主题