#30822020年10月20日作者 rukavina3 个回答
版本: 0.16.22 你能重现演示中的bug吗? [x] 是的 步骤:点击导入HTML插入 '<img src=“anyimagesource.gif” onload =“alert(1)”/>'JS将被处决 在iframe上设置合适的“沙盒”属性或许能缓解这个问题。
artf
如果你用 GrapesJS 并允许插入自定义 HTML,是的,Self-XSS 是可行的。 不幸的是,有几个问题让我无法正确修复我需要访问iframe的DOM来添加或更新内部组件,所以编辑器没有'sandbox=“allow-same-origin”就无法工作。在编辑器中运行 JS 是它的一个功能(Components with JS),所以要让它们正常工作,我还需要“允许脚本”同时拥有“允许同源”和“允许脚本”几乎就像不使用“沙盒”一样,因为 iframe 能够访问 co...
rukavina
你说得对,我们以为'sandbox=“allow-same-origin”就能解决,但'allow-scripts'也需要,这样就等于根本不用沙盒了。 不过,也许有用的是,提供一种方式让 Grapejs 用户能够以某种方式控制 iframe 画布的属性——这样他们就能承担起责任,控制沙盒值或其他属性。 谢谢!
blinkybill
如果你使用内容安全策略的HTTP头,可以绕过很多类似的XSS问题。但是GrapesJS目前有一个问题,就是它使用underscore.js,其中包含一个使用“eval”的函数,所以你无法让CSP头达到应有的安全水平
#30792020年10月19日作者 gstucki2 个回答
你好, 我尝试用面板控制按钮添加自定义职业,但没用。看看这个快速视频,你就知道我在说什么了 :https://www.loom.com/share/c50fdc3741094c0f9fea65b05eb78d3a 谢谢。
artf
抱歉,但在这种情况下,没有可复现的演示我也做不了太多,官方演示带最新版本运行正常,所以我猜问题可能只有你这边出了问题。
no-response[bot]
由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。
#30752020年10月16日作者 hellocaio3 个回答
嗨。我将GrapesJS更新到当前版本0.16.22,但回调函数出现错误: Editor.ON(“Component:add”, (model) => { editor.select(model); }); 错误堆栈: 未处理的拒绝(类型错误):i.classList 未定义 Stack: ./nodemodules/grapesjs/dist/grapes.min.js/</</w.toggleClass/</< nodemodules/葡萄/地区/grapes.min.js:2 S nodemodules/葡萄/地区/grapes.min.js:2 ./nodemodules/grapesjs/dist/grapes.min....
hellocaio
算了,问题由以下方式解决: editor.on(“load”, () => { Editor.ON(“Component:add”, (model) => { editor.select(model); }); });
hellocaio
好吧,先不管之前的事了。之前成功了几次,现在我也遇到同样的错误。抱歉。
#30592020年10月1日作者 lebonsavane3 个回答
你好,首先感谢你创建了GrapesJs,这非常有用。我遇到了一个问题,我在页面上添加一个头部,这就是我为头部添加的代码: '<header style=“padding: 100px 0px;position: absolute;top:0; width:100%”></header>' 问题是:当我先添加文本区域或其他元素,然后叠加两个叠加的标题:  那你能说说我需要管理的房产吗?我想当我插入标题时...
artf
@lebonsavane在JSFiddle或类似平台上举个例子
#30582020年10月1日作者 dharmatv3 个回答
版本: 0.15.9 如何在样式管理器中修改/移除一些现有块(如文本、图片)的CSS属性 我也查看了以下链接 https://github.com/artf/grapesjs/issues/1428 你能给个解决办法吗
dharmatv
我尝试了上面的解决方案(#1428),但没有得到输出,请检查以下代码并查看截图,请帮忙解决这个问题 https://snipboard.io/Om0BXG.jpg https://snipboard.io/tcJVY0.jpg
no-response[bot]
由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。
#30482020年9月25日作者 ealipio2 个回答
版本: 0.16.22你能复现演示中的bug吗? [x] 是的 [ ] 不预期的行为是什么? 控制台没有错误。详细描述那个漏洞 涉及的文件包括: https://github.com/artf/grapesjs/blob/6296bf8c970f700aa69e44728b7db80833452f69/src/dom_components/view/ComponentTextView.js#L61
artf
奇怪(没有模型视图组件就不存在),你能提供具体步骤来重现这个问题吗?
no-response[bot]
由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。
#30452020年9月23日作者 ghost2 个回答
版本: 0.16.22 你能重现演示中的bug吗? [x] 是的 [ ] 不 预期的行为是什么? 导入 Grapejs CSS 和 module 详细描述那个漏洞** 语法错误:无效或意外令牌 在Object.Module.extensions......js (internal/modules/cjs/loader.js:1157:10) 以及 /project/nodemodules/grapesjs/dist/grapes.min.js:1 ReferenceError:窗口未定义 在物体上。<anonymous> (/home/orestes/Workspace/orbitplum/node_modules/grapesj...
no-response[bot]
由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。
#30422020年9月23日作者 patoperpetua2 个回答
警告 请阅读并遵循接下来的三步,然后在发布问题前删除它们遵守贡献指南 https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.md先快速搜索一下,看看有没有人没开同样的问题所有相关陈述/问题都必须填写/回答,否则问题可能已结案JSFiddle 入门模板 https://jsfiddle.net/szLp8h4nCodeSandbox 入门模板 https://codesandbox.io/s/1r0w2pk1vl 你想给GrapesJS添加什么? 在 uploadFile 上添加更多文档,并创建一个通过提供 URL 上传文件的功能。 详细描述你的功能需求详细 所以,基本上...
artf
已经有上传URL的选项 https://github.com/artf/grapesjs/blob/8822aa6c6e8ced09ad50f2c8392f1754d3a6ec8b/src/asset_manager/config/config.js#L18-L21
no-response[bot]
由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。
#29872020年8月31日作者 thusharaprimus2 个回答
需要支持阿拉伯语。
no-response[bot]
由于我们请求原作者提供更多信息未获回应,本期已自动关闭。仅凭当前期刊中的信息,我们没有足够的信息采取行动。如果您有答案或找到我们需要的答案,请随时联系我们,以便我们进一步调查。
#29082020年7月21日作者 neon123453 个回答
目前,变化计数只会增加,无论撤销和重做。我想知道是否有应用中实际值被使用,还是这只是一个布尔值指示器。 如果只是作为布尔值使用,也可以在撤销状态中添加一个标志并标记保存的位置。这样,只有当撤销栈没有指向撤销和重做时保存的位置时,才能发出更改信号。 类似这样的方法似乎很有效: var um = 编辑。UndoManager; var 变点 = null; var hasChange = false; 函数 findChange() { var s = um.getStack(); var idx = s.pointer; var old = hasChange; 如果(idx != -1) { hasChange = 变点 !==...
mcottret
你好@neon12345! 据我所知,'changesCount' 也会和'stepsBeforeSave'一起使用,在启用'自动保存'时触发存储。 (参见:https://grapesjs.com/docs/modules/Storage.html#store-and-load-templateshttps://github.com/artf/grapesjs/blob/dev/src/editor/model/Editor.js#L170 ) 干杯!
neon12345
好的。但这意味着撤销和重做总是会触发自动保存,这并不是最优选择。
artf
getDirtyCount 返回变更次数,因此不用作布尔值。 如果你有更好的撤销/重做更改方案,欢迎PR