BUG:禁用类时,样式管理器中的自动保存无法正常工作
感谢你的报告,'editor.load' 方法存在一个漏洞,目前可以通过这种方式修补 “''js editor.load(() => { const em = editor.getModel(); em.get('storables').forEach(md => md.postLoad && md.postLoad(em)); }); ``` 实际上,如果你用 'editor.load()' 只是因为它启动时不加载,那是因为你必须在插件里定义自定义存储,这样'autoload'(默认为'true')就能正常工作(不需要临时补丁)
阅读下方完整回答 ↓问题
版本: 0.16.18
你能重现演示中的bug吗?
[x] 是的:https://jsfiddle.net/ju1a0onx/
预期的行为是什么?
自动保存在样式更改后应该总是调用“store”命令,即使类已经禁用
目前的行为是什么?
当你禁用某个元素上的所有类(或者全部设为私有——这个示例中没有展示)并进行样式更改时,自动保存不会生效,你的更改也不会被保存。
你能附上截图、截屏或实时演示吗?
[x] 是的 [葡萄自动存档 bug.zip](https://github.com/artf/grapesjs/files/4980448/Grapesjs.autosave.bug.zip)
回答(3)
感谢你的报告,'editor.load' 方法存在一个漏洞,目前可以通过这种方式修补 “''js editor.load(() => { const em = editor.getModel(); em.get('storables').forEach(md => md.postLoad && md.postLoad(em)); });
实际上,如果你用 'editor.load()' 只是因为它启动时不加载,那是因为你必须在插件里定义自定义存储,这样'autoload'(默认为'true')就能正常工作(不需要临时补丁)
@Davidvlv我也遇到同样的问题。我认为这是配置里的“avoidInlineStyles: 1”和没有选中类的组合。它似乎在“avoidInlineStyles: 0”下工作正常。
我试过了,这个设置确实能防止它在应该保存的时候不保存,但这会给我们后续使用输出带来一些其他问题。我们开启了avoidInlineStyles以避免这些问题。
相关问答
通过相似的问题讨论继续研究。
问题 #3463
检查员溢出故障
警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可...
问题 #4411
XSS在选择器管理器中添加类名时
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v102 可复制演示链接 https://jsfiddle.net/szLp8h4n 描述一下那个虫子 如何复现这个漏洞?选择任意组件在选择器管理器中添加类名,比如“<a href=...
问题 #4083
Set root 不起作用
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Safari 15.0可复制演示链接 https://jsfiddle.net/adw6y12f/9/描述一下那个虫子 你好, 我正在尝试按照[这里](https://github.com/artf/...
问题 #2593
Flex-direction:列在Chrome和Safari中会造成极度卡顿
你好, 我们遇到了一个大问题——我们的布局大量使用“显示:弹性;flex-direction: column;',这导致Chrome和Safari浏览器(非Firefox)出现极大延迟。 如果“flex-direction”风格设置为“row”,则完全没有减速。 样本:http...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。