调整画布大小会导致组件在导出时以“绝对”模式出现错误位置
我算是找到了一个变通办法...... 在CSS中将.gjs-frame-wrapper设置为所需宽度,然后在CSS中将iframe的“translate”(- x px, 0px)进行转换。那Canvas宽度就不对了(稍微小一点),但一切似乎都正常......不过我不会就此结案,因为作者的实现不当,正如之前所述,作者本可以非常轻松地修复这个问题。
阅读下方完整回答 ↓问题
GrapesJS 版本
- 我确认使用最新版本 GrapesJS
你用的是什么浏览器?
Microsoft edge 98.0.1108.56
可复制演示链接
https://jsfiddle.net/473b2tah/1/
描述一下那个虫子
画布缩放很酷,但没有考虑到可能因为dmode而使用px偏移,也就是说,放大后的画布不会反映导出的index.html页。导出后右侧整个区域是空的,因为图片从未被要求重新缩放以适应导出版本。比如这里画布缩放为0.85,这意味着图片应该放大1.15倍,并相应向右移动,但却卡在左边,右侧留下约15%的空隙。画布大小应该是大约1632像素,而导出宽度则大15%,也就是1920像素。我认为这应该自动化,实现起来应该相当简单......
行为准则
- 我同意遵守本项目的行为准则
回答(3)
我算是找到了一个变通办法...... 在CSS中将.gjs-frame-wrapper设置为所需宽度,然后在CSS中将iframe的“translate”(- x px, 0px)进行转换。那Canvas宽度就不对了(稍微小一点),但一切似乎都正常......不过我不会就此结案,因为作者的实现不当,正如之前所述,作者本可以非常轻松地修复这个问题。
谢谢你举报,@Adham380。 *调整画布大小会导致同伴在导出dmode时出现错误位置的问题,'absolute'似乎是竞态条件或状态管理时序的问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 GrapesJS 版本、浏览器和控制台错误
相关问答
通过相似的问题讨论继续研究。
问题 #6348
在 grapesjs 画布内可以拖拽任何东西
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?尝试选择,比如整个侧边栏工具/文本/所有功能抓取并放置在画布上 预期...
问题 #5607
无法扩展之前空过的图层
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v120.0.6099.199 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?将第1列方块拖到画布上将任...
问题 #6695
防止默认不适用于 Edge
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Edge 144.0.3719.92 可复制演示链接 https://jsfiddle.net/L61f0qtz/ 描述一下那个虫子 如何复现这个漏洞? 在 Microsoft Edge...
问题 #5316
编辑者未订阅选择器:移除
GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome v115.0.5790.170可复制演示链接 https://jsfiddle.net/BenKhz/yfwqc6mu/1/ 引用[此处文档](https://grapesjs...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
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应用——发布、自定义域名、潜在客户、结账和插件加载器。
浏览插件分类
直接跳转到市场上的插件分类页面。