使用这里提供的!重要代码会破坏背景图像和渐变。
我只看到“复合”/“堆栈”样式管理器属性的问题,因为并非所有样式管理器属性都包含在样式中,所以在你的代码中,你只需要检查样式的值是否真实存在,比如说,'如果 (value && value.indexOf('!important') === -1) {...'
阅读下方完整回答 ↓问题
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 可复制演示链接 https://jsfiddle.net/jLgb0mv3/1/ 描述一下那个虫子 如何复现这个漏洞?...把这个代码放进编辑器: editor.on('styleable:change', (model, property) => { const value = model.getStyle()[property]; 如果 (value.indexOf('!important') === -1) { model.addStyle({ [property]: value + ' !important' }); } });尝试设置背景图像或渐变。 预期的行为是什么? 它应该允许你设置背景图像或渐变。 目前的行为是什么? 事实并非如此。 如果需要执行某些代码以重现该漏洞,请将其粘贴到下面: “''js 你的代码在这里 ``` const editor = Grapesjs.init({ 容器:“#gjs”, fromElement: 1, 身高:“100%”, storageManager: { type: 0 }, 插件:['GJS-Blocks-BASIC'] }); editor.on('styleable:change', (model, property) =>...
回答(2)
我只看到“复合”/“堆栈”样式管理器属性的问题,因为并非所有样式管理器属性都包含在样式中,所以在你的代码中,你只需要检查样式的值是否真实存在,比如说,'如果 (value && value.indexOf('!important') === -1) {...'
谢谢你举报,@clonefunnels。 关于使用这里提供的!重要代码会破坏背景图像和渐变,问题非常好。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件生命周期 editor.on('component:mount',...
相关问答
通过相似的问题讨论继续研究。
问题 #4233
从StyleManager插入样式,且带有重要 broken
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬 可复制演示链接 https://jsfiddle.net/q7cxvpf5/1/ 描述一下那个虫子 当我使用这段代码时,它在一次div更改后就停止工作,之后也不再接受对其他div进行样式更改:...
问题 #4010
[X] 我确认使用最新版本的GrapesJS
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome / Firefox 可复制演示链接 https://www.teamfunnels.net/login.php 演示演示 描述一下那个虫子 当我用这个代码让所有风格都变得重要时......
问题 #4079
新版本 v0.18.1 破坏了 styleable:change 上 !important 的脚本
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v96 可复制演示链接 没有演示 描述一下那个虫子 我用下面的代码把所有样式都设置为 !重要 '// 让所有风格都重要以覆盖元素类 editor.on('styleable:chan...
问题 #5040
添加可样式事件,使样式可以被覆盖,打开
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 111.0.5563.147(官方构建)(64位) 可复制演示链接 我提供了代码 描述一下那个虫子 增加了可样式事件,使样式可以覆盖 https://github.com/GrapesJS/...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
GrapesJS DevTools: A Developer Panel Inside Your Editor
If you've ever debugged GrapesJS with console.log(editor.getSelected()) and a dozen throwaway event listeners — this post is for you.
教程
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
教程
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
浏览插件分类
直接跳转到市场上的插件分类页面。