问题:
vue项目中引用ueditor为组件,当编辑过程中突然放弃编辑后退或者关闭组件,浏览器报错:
Uncaught TypeError: Cannot read property 'lang' of undefined
at UE.Editor.getLang (ueditor.all.js?6705:7893)
at eval (ueditor.all.js?6705:29557)
或者类似这样的错误,总之就是一些无法操作dom或者找不到某些变量之类的。
猜测是组件销毁后ueditor无法进行一些操作。
尝试大量猜测后发现当出现过自动保存后关闭并不会报错,应该是ueditor在下个自动保存的时候发现页面已经销毁了
解决方法:
关闭自动保存
打开ueditor.config.js,搜索enableAutoSave,取消注释,更改为
//启用自动保存
,enableAutoSave: false
//自动保存间隔时间, 单位ms
,saveInterval: 0
打开ueditor.all.js,搜索
if ( !saveKey ) {
return;
}
在这行上面一行添加
if (!me.getOpt('enableAutoSave')) {return;}
屏蔽自动保存必须是需要这两步操作
至此问题解决