连字符改成“by editor messing modern coding”。
这不是个bug,而是HTML中属性转义的工作原理。 “''js domEl.innerHTML = '<div data-attr='{“key”: “value”}'>Text</div>'; domEl.innerHTML; -> '<div data-attr=“{”key“: ”value“}”>Text</div>' ```
阅读下方完整回答 ↓问题
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 铬可复制演示链接 没必要——明显的问题描述一下那个虫子 代码需要这样: data-zanim-lg='{“from”:{“opacity”:1,“x”:70},“to”:{“opacity”:1,“x”:0},“ease”:“CubicBezier”,“duration”:0.8,“delay”:0.3}' data-zanim-xs='{“from”:{“opacity”:1,“y”:-37},“to”:{“opacity”:1,“y”:0},“ease”:“CubicBezier”,“duration”:0.8,“delay”:0.3}' 编辑器会这样更改: data-zanim-lg=“{” from“:{& ;opacity”:1,& “;x”:70},& “;to“:{& ;不透明度& ;:1,& “;x”:0},”轻松& ;:& ;立方比齐尔& “;,& ” ;时长&:0.8,& “;延迟&:0.3}“ data-zanim-xs=”{“ from”:{& ;opacity”:1,& “;y“:-37},”to“:{& ;不透明度& ;:1,& “;y& “;:0},”轻松& ;:& ;立方比齐尔& “;,& ” ;时长&:0.8,& “;延迟&:0.3}" 如果编辑器在完成后会自动更改,那...
回答(2)
这不是个bug,而是HTML中属性转义的工作原理。 “''js domEl.innerHTML = '<div data-attr='{“key”: “value”}'>Text</div>'; domEl.innerHTML; -> '<div data-attr=“{”key“: ”value“}”>Text</div>'
谢谢你举报,@clonefunnels。 连字符改为“by editors messing up modern coding”的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤:** 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 GrapesJS 版本、浏览器和控制台错误
相关问答
通过相似的问题讨论继续研究。
问题 #3770
:改进并修复绝对拖拽模式
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v93 可复制演示链接 https://codepen.io/damnslow/pen/yLXXOxQ 描述一下那个虫子 如何复现这个漏洞?选择两个元素使用拖曳图标拖曳 预期的行为是...
问题 #6603
属性值中不逃避 & 符号
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v142.0.7392.0 (canary) 可复制演示链接 https://jsfiddle.net/xce183nm/1/ 描述一下那个虫子 如何复现这个漏洞? 创建一个...
问题 #3307
成就:提供一个未被压缩的版本
有没有被压缩的 Grapesjs 单文件版本? 如果能有个专门的,方便修复漏洞和快速测试新功能/改进,那就太好了。
问题 #3939
在预览中禁用拖放功能
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 第95卷可复制演示链接 https://codesandbox.io/s/grapes-border-issue-forked-2c0ib?file=/src/index.js:10258-10261...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
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.
浏览插件分类
直接跳转到市场上的插件分类页面。