You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Word加载项中window.open与window.location行为差异及浏览器打开URL方案咨询

针对Word加载项跨平台打开URL的解决方案

针对你遇到的Word加载项在不同Mac版本中打开URL的兼容性问题,我整理了官方推荐的方案和注意点:

  • 优先使用Office官方API:Office.context.ui.openBrowserWindow(url)
    这是微软专门为Office加载项设计的跨平台打开外部URL的方法,完全适配不同系统(Windows、不同版本的macOS)和Office版本,不需要依赖浏览器的window对象,也不会有<AppDomains>的限制——它会直接唤起系统默认浏览器打开目标URL,完美解决你在旧版iMac上遇到的window.open空白框问题。
    示例代码:

    Office.context.ui.openBrowserWindow('https://your-target-url.com');
    
  • 关于window.open的兼容性问题
    你在旧版macOS(10.12.2)+ Word 2016中遇到的空白对话框问题,本质是该版本的Office加载项运行环境(旧版WebView)对window.open的实现存在bug,新版系统和Office已经修复了这个问题,但旧版环境下稳定性无法保障,所以不推荐作为跨平台方案。

  • 关于window.location的风险
    虽然你测试发现旧版Mac上即使URL不在<AppDomains>里也能显示,但这属于不符合官方规范的“例外情况”,后续Office版本可能会严格执行<AppDomains>的限制,而且window.location会直接替换加载项的页面,导致用户无法回到加载项,体验很差,因此也不建议使用。

总结下来,Office.context.ui.openBrowserWindow是最稳妥的选择,它兼顾兼容性、用户体验和官方规范,能在所有支持Office加载项的环境中正常工作。

内容的提问来源于stack exchange,提问作者Zhili

火山引擎 最新活动