前言
本文记录在 onlyoffice DocumentServer Web 前端侧的定制修改,适用于 9.0.4 版本。修改基于统一 SDK api.js,对所有编辑器生效(文档/表格/演示/PDF/Visio)。
一、修改目标
- 关闭“输入用于协作的名称”匿名命名弹窗
- 隐藏“插件”功能区选项卡,并禁用插件能力
- 隐藏页眉左上角的 onlyoffice Logo(去除跳转链接)
二、变更文件与位置
生产服务真实使用目录(按你的安装方式选择其一):
Docker: /var/www/onlyoffice/documentserver/web-apps/apps/api/documents/api.js
Linux 安装版: 同上路径
Windows 安装版: C:\Program Files\ONLYOFFICE\DocumentServer\web-apps\apps\api\documents\api.js
三、代码改动点(统一 SDK 默认配置)
修改 DocsAPI.DocEditor.defaultConfig.editorConfig.customization
:
// 关闭匿名命名弹窗 anonymous: { request: false }, // 隐藏插件选项卡 layout: { toolbar: { plugins: false } }, // 完全禁用插件能力 plugins: false, // 隐藏页眉 Logo(无渲染自然无链接) logo: { visible: false }
以上片段出现在:
apps/api/documents/api.js
内 DocsAPI.DocEditor.defaultConfig
对象中
同步到 apps/api/documents/api.js.tpl
,避免重启后被模板覆盖
四、同步到服务端并处理压缩文件
- 必须同步两处源码:api.js 与 api.js.tpl
- 压缩资源处理(二选一):
简便做法(回退用未压缩版)
# 删除压缩文件,让服务器回退到未压缩的 api.js # Linux rm api.js.gz rm api.js.br # Windows 资源管理器直接删除 api.js.gz(和 api.js.br,如果有)
推荐做法(保持压缩以提升性能)
Windows(7-Zip + Brotli):
# 进入目录:.../web-apps/apps/api/documents/ 7z a -tgzip -mx=9 api.js.gz api.js # 若有 brotli .\brotli.exe -f -q 11 api.js -o api.js.br
Linux:
# 进入目录:.../web-apps/apps/api/documents/ gzip -c -9 api.js > api.js.gz brotli -f -q 11 api.js -o api.js.br # 如需
完成后:
重启 DocumentServer/容器/反向代理(示例:supervisorctl restart all 或重启容器/服务)
清浏览器与代理/CDN 缓存;或追加时间戳强刷:
http://
五、验证步骤
1) 打开浏览器开发者工具 Network,搜索 api.js,确认实际请求路径(可能是带版本号的路径)。
2) 点开响应,搜索关键字:
anonymous 且包含
request: false layout.toolbar.plugins = false customization.plugins = false logo.visible = false
3) 打开任一文档:
不再出现“输入用于协作的名称”弹窗
顶部“插件”选项卡消失
页眉左上角 Logo 不显示(无链接)
六、常见问题与排查
修改后又“恢复默认”:
可能只改了非模板文件,重启后由 api.js.tpl 重新生成
可能改了非版本目录;服务端实际使用的是带版本目录
浏览器仍旧显示老配置:
优先返回 .gz/.br,未处理压缩文件导致
浏览器/代理/CDN 缓存未清
个别页面仍有“插件”按钮或弹窗:
该页面在 new DocsAPI.DocEditor(..., config)
显式传参覆盖了默认值