“getDirtyCount()” 加载后返回 “1”
你好@padcom这是正常行为,因为加载本身会更新编辑器的状态。 你可以在手动加载后,通过“editor.clearDirtyCount()”直接清除脏计数器。
阅读下方完整回答 ↓问题
GrapesJS 版本
- 我确认使用最新版本 GrapesJS
你用的是什么浏览器?
Chrome最新款
可复制演示链接
https://github.com/padcom/grapes-bug-dirty-after-loading/blob/master/src/App.vue#L37
描述一下那个虫子
- 克隆并启动项目
git clone https://github.com/padcom/grapes-bug-dirty-after-loading
cd grapes-bug-dirty-after-loading
npm i
npm start
- 开放控制台
当前行为:变化次数为1 期望行为:变化次数为0
补充说明:使用 autoload 变更次数时,变更次数保持为0
行为准则
- 我同意遵守本项目的行为准则
回答(4)
你好@padcom这是正常行为,因为加载本身会更新编辑器的状态。 你可以在手动加载后,通过“editor.clearDirtyCount()”直接清除脏计数器。
请注意,如果你启用了“自动加载”: 并禁用加载功能: 修改次数为“0”,尽管结果相同——页面被加载。因为我的项目非常需要能在特定时间加载页面,这让一切都乱了。我也尝试过在加载后清除更改次数,但由于设置代码是通过“setTimeout()”回调,无法确定性地完成。
请问?你是认真的认为这是“预期”的行为吗?你见过其他编辑器加载时项目会自动修改然后自动保存吗?我很难相信。
你观察到的行为,即editor.getDirtyCount()在程序加载内容后立即返回1,这是初始化后手动设置编辑器内容时常见的情况,这不完全是bug,而是GrapesJS撤销管理器跟踪更改的方式。 根本原因解释 当GrapesJS初始化时,其撤销管理器会被设置来跟踪修改。当你使用诸如 editor.setComponents()、editor.setHtml()或 editor.setStyle() 等方法,在编辑器已经加载(即使加载内容为空)之后,这些操作被撤销管理器视为更改。每个set操作都会将一个新状态推送到撤销/重做堆栈中。因此,在设置初始内容后,撤销管理器会将这些作为编辑器初始状...
相关问答
通过相似的问题讨论继续研究。
问题 #4506
Error on drag block with dragmode: absolute
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v103 可复制演示链接 https://stackblitz.com/edit/js-1xpo7b 描述一下那个虫子 如何复现这个漏洞?使用dragMode:绝对(设计师...
问题 #4580
如果提供了“mousePosFetcher”,调整光标的起始位置也应使用。
GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? 任何可复制演示链接 任何描述一下那个虫子 如果有覆盖,启动PO也应该用 MosePosFetcher 方法,对吧?开始 Pos ...
问题 #3940
Issue with updating Button text
GrapesJS 版本[X] 我确认使用最新版本 GrapesJS你用的是什么浏览器? Chrome - 版本 95.0.4638.69可复制演示链接 两个地方:https://grapesjs.com/demo.html,我这里有一个仓库:https://github.com...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
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应用——发布、自定义域名、潜在客户、结账和插件加载器。
浏览插件分类
直接跳转到市场上的插件分类页面。