OfficeJS外接程序FunctionFile共享网络路径配置失效问题咨询
关于Office JS外接程序FunctionFile无法使用本地/网络共享路径的问题解答
没错,你遇到的情况完全符合Office JS外接程序的安全规范——FunctionFile确实只能使用HTTP或HTTPS协议的路径,无法直接指向本地文件系统路径或者网络共享驱动器路径。
为什么会这样?
Office外接程序运行在沙箱化的浏览器环境中,微软为了防止恶意代码利用本地资源,对外接程序可加载的资源来源做了严格限制。本地/网络共享路径属于file://协议范畴,这类协议的资源不在Office外接程序允许的加载白名单内。
虽然你的IconUrl和SourceLocation能暂时用共享路径正常运行,但这只是特定本地环境下的兼容场景,并非官方推荐的部署方式。而FunctionFile作为外接程序的核心功能触发入口,会被Office的安全校验机制严格拦截,最终导致外接程序加载失败,出现“无可用外接程序”的提示。
解决建议
- 必须将
functions.html托管在支持HTTP/HTTPS的Web服务器上,不管是本地开发用的服务器(比如http://localhost:3000这种)还是公网Web服务都可以。 - 如果你想长期稳定运行这个外接程序,建议把共享驱动器上的所有外接程序静态资源(包括页面、脚本等)都迁移到Web服务器上,统一用HTTP/HTTPS路径配置,这样既符合官方规范,也能避免后续出现其他兼容性问题。
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

