当没有选择任何东西时粘贴
问题
GrapesJS 版本
- 我确认使用最新版本 GrapesJS
你用的是什么浏览器?
Firefox
可复制演示链接
https://grapesjs.com/demo.html
描述一下那个虫子
如何复现这个漏洞?
- 选择舞台上的组件
- 用 CTRL+c 复制组件
- 选择实体(取消选择组件)
- 用CTRL+V粘贴
预期的行为是什么?
在正文末尾粘贴当前页面
目前的行为是什么?
由于以下条件,它什么都不做: https://github.com/GrapesJS/grapesjs/blob/8025b95a645907574389e950f32950190ceb602c/src/commands/view/PasteComponent.ts#L14
行为准则
- 我同意遵守本项目的行为准则
回答(2)
注意,这个bug导致无法将元素复制粘贴到空白页面
你描述的问题是GrapesJS默认 paste-component 命令中的已知行为。根本原因在于命令的实现,特别是其run方法开头的条件if (!selected || !selected.length) return;。如果画布上当前没有选中组件,这个检查会阻止粘贴操作继续。 设计上,默认paste-component命令期望选中的组件决定将复制内容插入的位置(通常是在所选组件旁边)。当没有选择任何内容时,它就没有上下文目标,因此没有任何作用。 为了实现预期行为——在没有选中任何组件时将复制的组件粘贴到正体末尾——你需要覆盖默认的paste-component命令。这允许你引入自定义逻辑...
相关问答
通过相似的问题讨论继续研究。
问题 #5342
ScrollCanvas 不起作用
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Firefox 116.0.3 可复制演示链接 https://grapesjs.com/demo-mjml.html 描述一下那个虫子 如何复现这个漏洞?在画布上滚动到底部并选择一个组...
问题 #4236
粘贴命令不尊重可拖拽/可放置的属性
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome 版本 98.0.4758.80(官方构建)(arm64) 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞?...
问题 #5720
传播组件默认值在引入子注释时可能会破坏层
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v122 可复制演示链接 https://jsfiddle.net/n38vbktg/ 描述一下那个虫子 如何复现这个漏洞?创建一个组件,传播包含可分层=true的默认值。...
问题 #5346
删除组件而不删除其对应样式
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 最新版本的Chrome浏览器 可复制演示链接 https://grapesjs.com/demo.html 描述一下那个虫子 如何复现这个漏洞? <img width=“1665” al...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
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年用 GrapesJS 构建AI驱动的页面构建器
我们构建GJSDocs的经验——从简单的AI文本生成到结构化、上下文感知的视觉编辑
教程
2026年构建一个SaaS页面构建器需要多少钱?
2026年构建一个SaaS页面构建器的成本是多少?探索实际的开发成本、时间表、功能,以及使用 GrapesJS 如何降低成本
浏览插件分类
直接跳转到市场上的插件分类页面。