ueditor 动态设置多语言
生活随笔
收集整理的這篇文章主要介紹了
ueditor 动态设置多语言
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
i18n 在切換語言時,是不會刷新瀏覽器的
ueditor 為什么切換不了多語言
f = UE.Editor = function(a) {var d = this;d.uid = e++, EventBase.call(d), d.commands = {}, d.options = utils.extend(utils.clone(a || {}), UEDITOR_CONFIG,!0), d.shortcutkeys = {}, d.inputRules = [], d.outputRules = [], d.setOpt(f.defaultOptions(d)), d.loadServerConfig(),utils.isEmptyObject(UE.I18N) ? utils.loadFile(document, {src: d.options.langPath + d.options.lang + "/" + d.options.lang + ".js",tag: "script",type: "text/javascript",defer: "defer"}, function() {UE.plugin.load(d), c(d)}) : (d.options.lang = b(UE.I18N), UE.plugin.load(d), c(d)), UE.instants["ueditorInstant" + d.uid] = d};原因在這里:
(d.options.lang = b(UE.I18N)b方法是在 UE.I18N 中尋找,只要有語言就返回,也就是返回第一個
function b(a) {for (var b in a) return b}而我們改變語言時 還是取的第一個
所以我們只要
import "@public/lib/UEditor/lang/zh-cn/zh-cn.js"; import "@public/lib/UEditor/lang/en/en.js";if (Object.keys(UE.I18N).length > 1) {// 淺拷貝 UE.I18N 的屬性 到 UE.I18N1UE.I18N1 = Object.assign({}, UE.I18N);}UE.I18N = {};// 重新賦值語言UE.I18N[this.config.lang] = UE.I18N1[this.config.lang];即可
當然最優的方式是使用 ueditor的 utils.loadFile 不過等他加載完畢,又給合到了UE.I18N里面,到時候切換多語言還有問題
總結
以上是生活随笔為你收集整理的ueditor 动态设置多语言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 提供博客里提到的几个程序的下载地址
- 下一篇: JavaScript网页特效5则