问题 #3693💬 已回答提出于 2021年8月11日作者 GaikwadShubham1 个反应

GrapesJS 不支持 AdoptStylesheet

快速解答作者 artf1

这个问题是由于 AdoptStylesheet 的工作方式,类似于 lit-element 的这个(https://github.com/lit/lit-element/issues/1139)。 基本上,你不能在多个文档中共享同一个CSSStyleSheet,所以必须手动重新创建,下面是一个自定义元素的代码,以支持adoptedStyleSheets。 “''js 编辑。Components.addType('custom-element', { isComponent: (el) => (el.tagName ||'').includes('-') & window.customElements.get(el.tagName....

阅读下方完整回答 ↓

问题

版本:

你可以在控制台输入“grapesjs.version”获得版本 0.17.22

你能重现演示中的bug吗?

  • 是的

预期的行为是什么? 应该能以类似 grapesjs 容器外的方式看到网页组件

详细描述那个漏洞** Grapesjs 无法从可构造样式表渲染 CSS。

目前的行为是什么? 能够在不样式的情况下加载组件

你能附上截图、截屏或实时演示吗?

CodeSandbox 入门模板 https://codesandbox.io/embed/frosty-payne-3fhd7?fontsize=14&hidenavigation=1&theme=dark

回答(3)

artf2021年8月11日

这个问题是由于 AdoptStylesheet 的工作方式,类似于 lit-element 的这个(https://github.com/lit/lit-element/issues/1139)。 基本上,你不能在多个文档中共享同一个CSSStyleSheet,所以必须手动重新创建,下面是一个自定义元素的代码,以支持adoptedStyleSheets。 “''js 编辑。Components.addType('custom-element', { isComponent: (el) => (el.tagName ||'').includes('-') & window.customElem...

vasicvuk2023年12月28日

有没有什么解决方案可以让lit-element components 3.X配合grapesJS使用?

ClaudeCode2026年5月17日

谢谢你举报,@GaikwadShubham。 AdoptStylesheet 在 grapesJS 中不支持的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 GrapesJS 版本、浏览器和控制台错误

相关问答

通过相似的问题讨论继续研究。

问题 #6152

通过自定义代码添加的CSS在移除自定义代码组件后依然存在

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 任何 可复制演示链接 https://grapesjs.com/demo 描述一下那个虫子 如何复现这个漏洞?添加带有HTML + CSS的自定义代码组件删除自定义代码组件。 预期的行为是什么?...

4 个回答更新于 2024年10月9日

问题 #4900

SetStyle/getCss() 生成重复的 CSS

葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Chrome 最新动态可复制演示链接 https://codesandbox.io/s/silent-river-ifczcv描述一下那个虫子 如何复现这个漏洞?访问网站参见控制台。注意“”和“bod...

2 个回答更新于 2023年2月5日

问题 #3612

葡萄的滑块按钮和标签键都没有按预期工作

版本 0.17.19(grapesjs) 版本 0.1.5(grapesjs-lory-slider) 版本 1.0.6(grapesjs-tabs) 你能重现演示中的bug吗? 不 预期的行为是什么? 我应该能在点击前一、下一页按钮和标签名时,浏览不同的幻灯片和标签页。 详细...

4 个回答更新于 2021年7月31日

问题 #3131

将纯文本粘贴到文本组件中,会为粘贴的文本添加 <font /> 封装器

版本: 0.16.27 你能重现演示中的bug吗? [] 是的 [X] 不 预期的行为是什么? 将粘贴文本为纯文本(文本节点),不像Grapes JS在</>元素中进行打包。 目前的行为是什么? 当我把纯文本粘贴到空文本元素时,编辑器会用<font />元素包裹它。 在粘贴文本...

4 个回答更新于 2021年5月2日

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

浏览插件分类

直接跳转到市场上的插件分类页面。