linux/windows/系统运维/银河麒麟

OnlyOffice 9.0.4 前端定制记录:去除匿名命名弹窗、隐藏插件菜单、关闭页眉 Logo 链接

daimafengzi · 9月29日 · 2025年 · · · · 本文共1943个字 · 预计阅读7分钟 9次已读

前言

本文记录在 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.jsDocsAPI.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:///web-apps/apps/api/documents/api.js?_ts=1690000000000

    五、验证步骤

    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) 显式传参覆盖了默认值

0 条回应