全部
常见问题
产品动态
精选推荐
功能建议

已处理 待处理 {{opt.name}}
已处理 待处理
分析中 已回复 待规划 {{opt.name}}
分析中 已回复 待规划
UEditor 移除图表(Highcharts)功能方法

管理 管理 编辑 删除

0. 动手前的备份(强烈建议)

动手前,先把整个项目文件夹完整复制一份保存好(放到项目同级目录或打包成压缩包都行)。万一改动出问题,可直接用这份备份恢复到改动前的状态。等确认改动无误、运行稳定后,再删掉备份即可。

1. 问题背景

项目中 UEditor 自带“图表(charts)”功能,并依赖 third-party/highcharts/ 下的 Highcharts 库。该功能实际并未被使用,却引入整套 Highcharts 代码与资源,占用体积且存在 Highcharts 商业授权合规风险。本次目标:彻底移除 UEditor 对 Highcharts 的依赖与图表功能,同时保证 UEditor 其他核心功能(表格、图片、视频、附件、预览等)不受影响。

2. 改动文件总览

类型文件/目录
修改public/system/plug/ueditor/ueditor.all.js
修改public/system/plug/ueditor/ueditor.all.min.js
修改public/system/plug/ueditor/ueditor.parse.js
修改public/system/plug/ueditor/ueditor.parse.min.js
修改public/system/plug/ueditor/lang/zh-cn/zh-cn.js
修改public/system/plug/ueditor/lang/en/en.js
修改public/system/plug/ueditor/themes/default/css/ueditor.css
修改public/system/plug/ueditor/themes/default/css/ueditor.min.css
删除public/system/plug/ueditor/dialogs/charts/(整目录)
删除public/system/plug/ueditor/third-party/highcharts/(整目录)
删除public/system/plug/ueditor/themes/default/images/charts.png

3. 具体修改步骤

3.1 ueditor.all.js(非压缩版编辑器)

1. 删除整个 // plugins/charts.js 开头的 UE.plugin.register('charts', function (){ ... }); 块。该块包含:validData()data-chart 属性读写、edui-charts-table 类、chartserror 事件逻辑。

2. 在 iframeUrlMap 对象中删除:

'charts': '~/dialogs/charts/charts.html'

3. 在 dialogBtns.ok 数组末尾删除 , 'charts'

4. 将:

fullscreen: /charts|preview/.test(cmd),

改为:

fullscreen: cmd === 'preview',

5. 将按钮禁用判断:

disabled:(cmd == 'scrawl' && editor.queryCommandState("scrawl") == -1) || ( cmd == 'charts' )

改为:

disabled:(cmd == 'scrawl' && editor.queryCommandState("scrawl") == -1)

3.2 ueditor.parse.js(前端内容解析)

  • 删除 UE.parse.register('charts',function( utils ){ ... }); 整个块。该块负责在有 data-chart 的表格时动态加载 jQuery、Highcharts、chart.config.js 并渲染图表,含 loadHighchartswindow.Highcharts$(container).highcharts(...) 等。

3.3 两个 .min.js 压缩文件

1. 删除 UE.plugin.register("charts",function(){...}) / UE.parse.register("charts",function(a){...}) 压缩块;

2. 删除 iframeUrlMap 中的 ,charts:"~/dialogs/charts/charts.html"

3. 删除 dialogBtns 数组中的 ,"charts"

4. 将 fullscreen:/charts|preview/.test(d) 改为 fullscreen:"preview"==d

5. 将 disabled:"scrawl"==d&&...||"charts"==d 改为仅保留 disabled:"scrawl"==d&&...

⚠️ .min.js 为单行压缩文件,删除时须保证外层逗号分隔符正确,避免语法断裂。建议:若项目有 UEditor 构建/压缩链路,先改源码再重新 min 化;若没有(本项目现状),则手动精确删除,并自行确认编辑器使用正常。

3.4 语言包

  • lang/zh-cn/zh-cn.jslabelMap 删除 , 'charts': '图表';删除 'charts':{ 'static':{ ... } } 块。
  • lang/en/en.jslabelMap 删除 , 'charts': 'charts';删除 'charts':{ 'static':{ ... } } 块。

3.5 主题样式与素材

1. 删除 ueditor.css 中:

.edui-default  .edui-for-charts  .edui-icon {
    background: url( ../images/charts.png ) no-repeat 2px 3px!important;
}

2. 在 ueditor.min.css 中删除对应压缩规则 .edui-default .edui-for-charts .edui-icon{...}

3. 删除 themes/default/images/charts.png

3.6 删除功能相关目录

  • 删除 dialogs/charts/(含 charts.htmlcharts.jschart.config.jscharts.cssimages/)。
  • 删除 third-party/highcharts/(含 JS、modules、themes、adapters 全部 Highcharts 文件及授权信息)。

4. 注意事项

  • 不要删除 third-party/jquery-1.10.2.min.js:仍被 attachment/image/video 等对话框使用。
  • 不要清理 third-party/SyntaxHighlighter/shCore.js 中的 cfchart 等关键词:那是 ColdFusion 代码高亮列表,与 Highcharts 无关。
  • 数据兼容:若已有带 data-chart 的历史表格,移除后可作普通表格展示(不再渲染为 Highcharts 图表),无需数据库迁移。
  • .min.js 需人工精确编辑:无构建链路时,先改非压缩版,再对 min 文件做等价删除,并确认页面可正常使用。
{{voteData.voteSum}} 人已参与
支持
反对
请登录后查看

轻煮时光 最后编辑于2026-09-16 17:58:52

快捷回复
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
排序 默认正序 回复倒序 点赞倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推荐': '推荐'}}
{{item.is_suggest == 1? '取消推荐': '推荐'}} 【已收集】
{{item.floor}}# 沙发 板凳 地板 {{item.floor}}# 【已收集】
{{item.user_info.title || '暂无简介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打赏
已打赏¥{{item.reward_price}}
{{item.like_count}}
分享
{{item.showReply ? '取消回复' : '回复'}}
删除
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打赏
已打赏¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}
收起 展开更多
查看更多
打赏
已打赏¥{{reward_price}}
72
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})
{{replySubmitting ? '提交中...' : '回复'}}
{{replySubmitting ? '提交中...' : '回复'}}
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定
打赏金额
当前余额:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
请输入 0.1-{{reward_max_price}} 范围内的数值
打赏成功
¥{{price}}
完成 确认打赏

微信登录/注册

{{ wechatLoginError }}
切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服
CRMEB咨询热线 400-8888-794

扫码领取产品资料

功能清单
思维导图
安装教程
CRMEB开源商城下载 源码下载 CRMEB帮助文档 帮助文档
返回顶部 返回顶部
CRMEB客服