#3352 2021年3月19日 作者 harsh201 4 个回答
版本: 最新 你可以在控制台输入“grapesjs.version”获得版本 你能重现演示中的bug吗?[X] 是的[ ] 不 预期的行为是什么? 带有空体的组件不应被填充默认内容。 目前的行为是什么? 当我们创建一个空节点并用 setComponents() 作为输入传递给 GrapesJS 时,如果标签主体为空,扩展 TextNode 的组件会添加默认内容。 详细描述那个漏洞** 当我们创建一个空节点并用 setComponents() 作为输入传递给 GrapesJS 时,如果标签主体为空,扩展 TextNode 的组件会添加默认内容。我们有用例,有些标签可能是空的。有没有办法通过 setComponents 插入禁用它?...
artf
你在组件定义中定义了默认的“内容”,所以空的定义会用它作为默认。 只需将那个“内容”从组件定义中移动到“段落”块。
harsh201
谢谢@artf!完全忘了要在方块层面添加。
#3350 2021年3月18日 作者 devtechk 3 个回答
你好,我用的是 grapesjs 0.16.44,只有在 Firefox 里遇到这个问题。 使用 Grapesjs Block 基本预设。 有人能帮帮我吗? 非常感谢!  
artf
试着把你的代码放进去 “''js editor.on('load', () => { // ... }) ```
devtechk
问题“解决”后移除: 正在寻找更好的解决方案,先让块面板自动对焦激活 我还注意到其他冲突,比如自定义模态和导出插件中的模态(点击导出插件时触发了FFox上的自定义模态),或者比如我重新设置过的面板又出现了,我已经把所有内容放进代码里解决了
ClaudeCode
谢谢你举报,@devtechk。 未捕获类型错误:无法访问属性“el”,n未定义的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更...
#3343 2021年3月17日 作者 neilkyoung 4 个回答
版本: 0.16.44 你能重现演示中的bug吗?[x] 是的[ ] 不 设置'编辑器'。Parser.getConfig().keepEmptyTextNodes = true;' 在控制台中,然后尝试将表单拖入一个两列插件。 预期的行为是什么? 详细描述那个漏洞 据我观察,当定义了可丢弃属性时,“keepEmptyTextNodes”会抛出带有 Sorter.js 的错误。当它试图确定有效性时,最终会先获得文本节点,导致匹配比较失败(文本节点不支持匹配)。 目前的行为是什么?* 问题区域似乎是下面Sorter.js 这是因为tempModel拥有文本节点,可以包裹块中定义的内容。当移除它以获得 dropModel 时,我们得到...
artf
嗯,是的,这很合理,也许我们应该选第一个“有效”元素(也就是真正支持“匹配”的那个)。 但我也很好奇你关于使用“keepEmptyTextNodes”的理由是什么。几天前我其实还在考虑把它😂拆掉
neilkyoung
@artf 我们用于网页创作的系统实现了这一点。不过现在我们已经说服他们关闭了这个功能,感谢你上面的评论:-D
artf
太好了,那我就关上了。如果你那边的变更有问题或不同,请告诉我
#3342 2021年3月17日 作者 RutujaBadbe 2 个回答
嗨! 我尝试过在Canvas和index.html中添加jQuery。 我正在这样用canvas添加它—— 'canvas = 编辑。画布; const script1 = document.createElement('script'); script1.src = 'https://code.jquery.com/jquery-3.6.0.min.js'; canvas.getDocument().head.appendChild(script1);' 在HTML页面里我把它加成了script标签——'<script src=“https://code.jquery.com/jquery-3.6.0.min.js”></scr...
artf
这里你可以看到如何正确加载依赖 https://grapesjs.com/docs/modules/Components-js.html#template-related
ClaudeCode
谢谢你举报,@RutujaBadbe。 错误 ReferenceError: $ 未定义 发生在 Canvas 尝试访问属性时,尚未完全初始化组件生命周期。这是GrapesJS中常见的竞争条件。 立即解决办法: 如果你控制代码,可以用空检查包裹调用: “JavaScript 如果(component && typeof component.getDocument === 'function') { 你的准则 } ``` 根本原因分析: Canvas 在调用 'getDocu...
#3334 2021年3月11日 作者 KernelDeimos 2 个回答
版本: 0.16.44 你能重现演示中的bug吗? [ ] 是的 [x] 不 预期的行为是什么? 真的,其他任何东西都行 详细描述那个漏洞 我当时正试图将脚本加载到画布中。我第一次尝试是“脚本:[]”,然后遇到了这个PR帖子里提到的同步问题:https://github.com/artf/grapesjs/pull/67 我看到@artf的一个例子展示了另一种用一个叫“components”的属性来实现。这样做会导致JavaScript解析器失效。我不是开玩笑;我发了截图来证明。 还有一点有趣的是:控制台里写着“TAG LOAD”的文字来自我试图加载的脚本。所以......成功了吗?尽管页面因语法“无效”而崩溃。 目前的行为是什么...
KernelDeimos
我有一阵子没用内联“<script>''标签了,也忘了HTML解析器的这个限制。关上这个。
ClaudeCode
谢谢你举报,@KernelDeimos。 尝试将脚本加载到Canvas时,可能会破坏JavaScript的问题?? 似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSa...
#3333 2021年3月11日 作者 xinnai 4 个回答
你好,我想开发源代码,但无法开始。我开始项目时出现了错误。有人能帮帮我吗?非常感谢!! 
xinnai
@Andrew-Chen-Wang 我觉得这可能是我的开发环境出了问题,所以我用另一台电脑安装并迁移到我的电脑上,至今仍不知道为什么,但现在它运行正常了。希望以后不会再出错,非常感谢!!
Andrew-Chen-Wang
关于源代码开发,请查看:https://github.com/artf/grapesjs#development
xinnai
@Andrew-陈旺,是的,我做了,但总是出现这个错误,我该怎么办?
#3325 2021年3月9日 作者 mmotov 4 个回答
版本: 0.16.44 你好!我有页面的远程存储,最近在保存页面时遇到了一个问题,'JSON.stringify(editor.getComponents()'开始弹出错误,'Uncaught TypeError: e[M].getId is not a function'。 我检查了页面已保存的JSON表示,发现它在这部分失败了 我不知道“__symbol”键的用途,但没有它,一切都正常。 这个问题只在少数几页出现,但我担心其他页面也会再次出现。
yucomds
这里也是同样的错误......你有解决办法吗? [编辑]目前降级似乎是唯一的解决办法
josfh2005
这里也有同样的问题,如果我在加载编辑器前先预处理组件并移除那个属性(__symbol),模板就能正常工作。 现在有没有办法暂时禁用这些符号@artf?
artf
是的,不幸的是,之前版本的葡萄有个bug,导致符号不自愿出现。在当前版本中,这个bug已经修复,符号被禁用了,但不幸的是,如果你尝试加载一个包含由bug创建的符号引用的组件,仍然会出现这个问题。 我会在下一个版本中为这个问题添加补丁,目前我会听从Josè的建议,在加载编辑器前删除所有“__symbol”引用。
#3319 2021年3月5日 作者 anatoli-dp 3 个回答
版本: 现在? 你可以在控制台输入“grapesjs.version”获得版本 你能重现演示中的bug吗? [ ] 是的 [ x] 没有 // 公平地说,演示版里从未尝试过 预期的行为是什么? 在编辑图层文本并添加新行并回距时,我本应期望编辑后的文本被重新输入 详细描述那个漏洞 文本不会重新置中,而是被凸起(见附图) 目前的行为是什么? 按回车键开始新行后,文字会升高到中心以上,然后往外退行。不过完全清除所有文本和重新输入时,文字确实会重新置中。 你能附上截图、截屏或实时演示吗?** [ x] 是的(附上) [ ] 不 。 第二个问题,如果你用自己的工具来调整画布大小,可能应该调用“editor.refresh()”来调整工具栏
anatoli-dp
是的,我后来才意识到editor.refresh()这个功能。否则谢谢。太棒的项目了
ClaudeCode
谢谢你举报,@anatoli-DP。 关于图层生成新行后文本不会居中,这个问题问得很好。推荐的 Canvas 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something c...
#3316 2021年3月5日 作者 am1rb 4 个回答
版本: 0.16.34 你能重现演示中的bug吗? [ ] 是的 [x ] 不 据我了解,导入代码对话框跳过了所有HTML脚本,所以我无法在演示中重现这个问题 预期的行为是什么? 编辑者必须先移除失效脚本块,才能在生成的HTML末尾添加新的脚本块 详细描述那个漏洞* 我在项目中用脚本(https://grapesjs.com/docs/modules/Components-js.html)定义了一个组件。当我将这个组件添加到编辑器并保存模板时,编辑器生成 HTML,并在正文末尾附加一个脚本块以启动相关组件。 输出的HTML大致是这样的: '''html <head> <!-- 生成的 HTML --> <script>/ 附加的脚...
Ju99ernaut
我无法复现这个,也许你能提供更多关于自定义组件的信息,无论如何我怀疑这是存储相关的问题。你是先存储然后加载生成的HTML页面吗?
Andrew-Chen-Wang
通常内联脚本会放在正文底部。试着把它放那里?
am1rb
我自己不添加任何内容。编辑器会在生成的HTML末尾添加与组件相关的脚本,并添加一个新的脚本标签。 请查看这个文件: https://github.com/artf/grapesjs/blob/dev/src/editor/model/Editor.js#L513 我觉得这里可能有问题。编辑器会添加新的脚本块,但不会移除旧的。
#3310 2021年3月5日 作者 Andrew-Chen-Wang 3 个回答
版本: 演示版中的那个 你能重现演示中的bug吗? [X] 是的 [ ] 不 预期的行为是什么? 移动端和平板视图在窗口缩小时应该会调整画布大小。 详细描述那个漏洞 桌面视图在调整窗口大小时会正确调整画布大小 目前的行为是什么?* 当窗口在移动端和平板视图中缩小到一定宽度以下时,画布不会变大。面板随后覆盖了画布。这在桌面视图中不会发生,只有在移动端和桌面视图中才会出现。 详细描述那个漏洞*** 桌面视图在调整窗口大小时会正确调整画布大小。但只有桌面视图。移动端(包括竖屏和横屏)和平板视图不会调整大小
Ju99ernaut
“移动”和平板“设备是像素延迟的,所以它们只是根据窗口大小调整画布大小到一定像素数。我记得“桌面”只是把Canvas设置为100%。
artf
正如@Ju99ernaut提到的,这就是设备的工作原理。 说实话,我甚至不明白为什么要调整窗口大小? 你还可能开始看到或更新与正确设备无关的样式,这肯定会让人困惑。
ClaudeCode
谢谢你举报,@Andrew陈旺。 平板和移动视图无法调整大小的问题似乎是竞赛条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报...
显示第 601–610 个,共 743 个问题
1 ... 上一页 58 59 60 61 62 63 64 下一页 ... 75