UEditor去掉「本地保存成功」的提示框,不用调整JS,加一行CSS即可解决。

右上角频繁出现「本地保存成功」的提示,甚至3-5秒都会出现一次,不胜其烦,就准备去掉这个提示,静默保存即可。

在网上搜索发现有网友提出的解决方案是「ueditor.config.js把enableAutoSave改成false」,其实这个是直接关闭了「自动保存」,我需要的是静默提示,但是「自动保存」功能并不关闭。

1、最笨的方法「搜索」

通过搜索关键词「保存成功」,在zh-cn.js文件里找到了

    'autosave': {
        'saving':'保存中...',
        'success':'本地保存成功'
    }

就对中文关键词进行去掉,更改为空。

结果:文字是不显示了,但是「提示框」还是存在的,这不是我想要的结果,恢复文件继续解决。

2、JS代码解决方法

既然找到了「autosave」,那就顺腾摸瓜呗。

// adapter/autosave.js
UE.registerUI('autosave', function(editor) {
    var timer = null,uid = null;
    editor.on('afterautosave',function(){
        clearTimeout(timer);

        timer = setTimeout(function(){
            if(uid){
                editor.trigger('hidemessage',uid);
            }
            uid = editor.trigger('showmessage',{
                content : editor.getLang('autosave.success'),
                timeout : 2000
            });

        },2000)
    })

});

果不其然,在「ueditor.all.js」里找到了「自动保存」相关的方法「UE.registerUI('autosave', function(editor)」

那就注释掉这两个「trigger」

// adapter/autosave.js
UE.registerUI('autosave', function(editor) {
    var timer = null,uid = null;
    editor.on('afterautosave',function(){
        clearTimeout(timer);

        timer = setTimeout(function(){
            if(uid){
                // editor.trigger('hidemessage',uid);
            }
            /*uid = editor.trigger('showmessage',{
                content : editor.getLang('autosave.success'),
                timeout : 2000
            });*/
        },2000)
    })

});

结果:还是出现提示,改造失败。

3、CSS改造

在「ueditor.css」加入CSS样式,收费3元吧,毕竟折腾这个事折腾了很长时间,如果能解决你的问题,请我喝瓶绿茶。

.edui-editor-messageholder.edui-default{
visibility:hidden;
}

结果:解决啦,就这么简单。

总结

最终「自动保存」功能还在运行,提示框其实也在,只是我们使用了「visibility:hidden」,它的作用其实就是将元素隐藏,但是在网页中该占的位置还是占着。