I18N内容集成
@teawithfruit如果你期望在保存的HTML页面(除了GrapesJS编辑器)里看到什么,我看到它唯一能做的就是: “''js 脚本:function() { console.log(“剧本完成!”) } ``` 所以它什么都没做,可能你也是误以为GrapesJS编辑器里的脚本能在导出的代码里工作(但最终HTML和编辑器无关)。更详细的解释[这里](https://github.com/artf/grapesjs/issues/2181#issuecomment-520470116)
阅读下方完整回答 ↓问题
你好, 我正在开发将我的本地化系统(i18n)与grapes.js集成。这个想法是有一个数据字段,用于存储 i18n 字符串。 '''html <div class=“content” data-i18n=“common:localize.string”></div> ``` 如果数据属性被设置,grapes.js会将字符串放在设置字段中显示。如果设置字段被更改,数据属性和画布内的内容也会被更改。如果设置字段被清除,数据属性将被删除。 如果文件被保存,属性也会被包含在内。在生产环境中使用该文件时,一个小脚本会搜索data-i18n属性,以正确语言设置元素内的文本。 现在我在实现上遇到了一些问题。如果我编辑设置字段,画布中的内容设置正确,但在“查看代码”中,而保存的文件却没有。看起来文本是附加的,而不是替换的。“' component.components('Insert text here...')' 是替换组件内内容的正确方式吗?(jsfiddle 第29行) 你可以在设置字段中使用“i18nString”来模拟有效的i18n字符串。我想将脚本集成到组件中。现在我在使用异步函数时遇到了问题。在组件脚本中使用异步函数可能吗?(JSFIDDLE 第57行)更新画布内容的最佳方式是什么?我现在在第27行到第61行之间待处理。两者都处于关键阶段。如果我更改设置字段,排版设置会被重置。有...
回答(3)
@teawithfruit如果你期望在保存的HTML页面(除了GrapesJS编辑器)里看到什么,我看到它唯一能做的就是: “''js 脚本:function() { console.log(“剧本完成!”) }
所以它什么都没做,可能你也是误以为GrapesJS编辑器里的脚本能在导出的代码里工作(但最终HTML和编辑器无关)。更详细的解释[这里](https://github.com/artf/grapesjs/issues/2181#issuecomment-520470116)
你好@teawithfruit你的代码有几个问题: 1)你无法访问组件“脚本”中的“这个”模型:[Component & Js 文档](https://grapesjs.com/docs/modules/Components-js.html) 2)如果你的用例是控制某个属性,你不必为此提供自定义特征;只需定义一个常规特征,并为该属性的变化添加监听器: 干杯!
感谢你非常有帮助的回答!这是我更新后的模块/组件。 现在我还有一个问题。 我添加到组件中的脚本函数在保存的HTML页面中没有被调用。如果我在编辑器里把块添加到画布里,函数会被调用,但如果我保存页面并在grapes.js外打开,则调用不行。 如果我查看元素检查器,脚本标签是可见的,但没有被调用。 是我哪里做错了吗? “''js 编辑。DomComponents.addType('content', { isComponent: el => el.classList && el.classList.contains('content'), 扩展:“文本”, 型号:{ async init() {...
相关问答
通过相似的问题讨论继续研究。
问题 #5141
组件在更新性状时重置属性值(仅首次)
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 版本 113.0.5672.63 可复制演示链接 https://jsfiddle.net/rajevar/zLs8q97f/4/ 描述一下那个虫子 这是针对这次讨论 https:/...
问题 #4083
Set root 不起作用
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Safari 15.0可复制演示链接 https://jsfiddle.net/adw6y12f/9/描述一下那个虫子 你好, 我正在尝试按照[这里](https://github.com/artf/...
问题 #3244
Grapes JS 版本 v0.16.34 加载已保存的 HTML 后出现意外脚本代码
附加代码: 保存HTML时: <div class=“gjs-row”> <div class=“gjs-cell”> <div class=“gjs-row”> <div class=“gjs-cell”> <div id=“i6x6”> <div id=“bsrne9exd...
问题 #2718
不能用i18n
又见面了,@artf, 你关闭了我之前的工单,但我没成功重新开启 我看过文件和关于保护i18N的部分,但没能用到。 在你的文档里,你用的是导入函数,基本上我的代码比较简单,也不需要导入,比如这样: <html> <身体> <link rel=“st...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。