umeditor如何去除umeditor加载的无用的js文件

本文共有1511个字,关键词:

问题:在使用百度umeditor的时候总是加载map.js,link.js,formula.js,emotion.js,image.js等js文件,有的功能我根本不需要,为了加快umeditor的加载速度,如何去除这些js文件的加载呢?
解决:仅仅修改配置文件是不行的,还需要修改umeditor.js文件
方法:
一、复制umeditor.js文件,umeditor.new.js
二、原理:根据umeditor.config.js的配置文件配置的选项来加载js文件,加载的内容都写在UM.registerUI中了,只需要去除里面的map等不需要的选项就可以了
三、修改的代码如下
在20行加上
var umconf_toolbar = UMEDITOR_CONFIG.toolbar;
var umconf_str = umconf_toolbar.join('-').replace(/[ ]/g,'-').replace(/|/g,'-').replace(/[-]+/g,'-');
var toolbar_list = umconf_str.split('-');

在10279行加上

var origin_str1 = 'link image video map formula'; // 使用jquery的$.inArray if($.inArray('link', toolbar_list) < 0 && $.inArray('unlink', toolbar_list) < 0){ origin_str1 = origin_str1.replace('link ', ''); } if($.inArray('image', toolbar_list) < 0){ origin_str1 = origin_str1.replace(' image ', ' '); } if($.inArray('map', toolbar_list) < 0){ origin_str1 = origin_str1.replace(' map ', ' '); } if($.inArray('video', toolbar_list) < 0){ origin_str1 = origin_str1.replace(' video ', ' '); } if($.inArray('formula', toolbar_list) < 0){ origin_str1 = origin_str1.replace(' formula', ''); }
将原来的

UM'link image video map formula', function(name){
替换成

UM.registerUI(origin_str1, function(name){
在10397行加上

var origin_str2 = 'emotion formula'; // 使用jquery的$.inArray if($.inArray('emotion', toolbar_list) < 0){ origin_str2 = origin_str2.replace('emotion ', ''); } if($.inArray('formula', toolbar_list) < 0){ origin_str2 = origin_str2.replace(' formula', ''); } UM.registerUI( origin_str2, function( name ){

版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。
添加新评论
暂无评论