V0.19.5 Breaks headless editor.setComponents() (with Map/Video block)
谢谢@skru我其实已经处理好了 parseUri [这里](https://github.com/artf/grapesjs/commit/f61222ec904ed56794f7b97e362ea2006dfceaf6),所以下次发布应该能用
阅读下方完整回答 ↓问题
GrapesJS版本 [X] 我确认使用最新版本GrapesJS 你用的是什么浏览器? Chrome 102.0.5005.115(官方版本)(64位) 可复制演示链接 描述一下那个虫子 这是#4473的延伸 在无头环境中通过editor.setComponents()添加地图或视频块时,也会出现类似的“文档未定义错误”,源自./src/dom_components/model/ComponentImage.js,parseUri() 尝试使用文档对象。 我不得不迅速修复,因为它是产品发布的瓶颈。我重构了 parseUri() 方法,使其看起来像这样(测试通过且无错误): parseUri(uri) { let uriParams = { hash:“, 主机名:“”, 路径名:“”, 端口:“, 协议:“, 查询:{}, 搜索:“” } if (uri.substring(0, 4) !== “<SVG”) { const url = new URL(uri); let query = {}; var qrs = url.search.substring(1).split('&'); for (let i = 0; i < qrs.length; i++) { let pair = qrs[i].split('='); let name = decodeURIComponent...
回答(2)
谢谢@skru我其实已经处理好了 parseUri [这里](https://github.com/artf/grapesjs/commit/f61222ec904ed56794f7b97e362ea2006dfceaf6),所以下次发布应该能用
谢谢你举报,@skru。 v0.19.5 导致 headless editor.setComponents()(带地图/视频块) 的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 GrapesJS 版本、浏览器和控制台错误
相关问答
通过相似的问题讨论继续研究。
问题 #4473
V0.19.5 破坏无头编辑器 editor.setComponents(): “Uncaught(在承诺中)ReferenceError: 窗口未定义”
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome 102.0.5005.115(官方版本)(64位) 可复制演示链接 描述一下那个虫子 如何复现这个漏洞? 我在JSFiddle上无法复现这一点,但这说法有点道理。 #437...
问题 #3806
Target :null when adding video
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome新版本 可复制演示链接 https://codesandbox.io/s/react-redux-toolkit-application-forked-l5rhp?file=...
问题 #5236
内容为“null”的TextNode被渲染为“null”,而不是空白
GrapesJS版本[X] 我确认使用最新版本GrapesJS你用的是什么浏览器? Chrome 版本 114.0.5735.199(官方构建)(64位)可复制演示链接 无描述一下那个虫子 抱歉又提起这个问题了,但你的提交功能不起作用 我用npm install GrapesJ...
问题 #6409
Cannot drag to move components on mobile
GrapesJS版本 [x] 我确认使用最新版本GrapesJS 你用的是什么浏览器? Chrome v133 可复制演示链接 https://jsfiddle.net/2hjdrb7L/1/ 描述一下那个虫子 如何复现这个漏洞? 使用grapesjs v0.22.x 初始化一...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
Introducing Search on GJS.Market
GJS.Market now has one search across everything we publish — plugins, articles, community questions, guides, authors and services. Press ⌘K from any page.
教程
2026年构建一个SaaS页面构建器需要多少钱?
2026年构建一个SaaS页面构建器的成本是多少?探索实际的开发成本、时间表、功能,以及使用 GrapesJS 如何降低成本
教程
PageKit:你无论如何都得自己开发 GrapesJS 应用
一个围绕开源GrapesJS核心的源代码可用Next.js应用——发布、自定义域名、潜在客户、结账和插件加载器。
浏览插件分类
直接跳转到市场上的插件分类页面。