如何从Outlook Web Add-in独立HTML页面访问阅读窗格DOM对象?
关于Outlook Web Add-in操作阅读窗格DOM的问题
首先明确:你无法直接访问阅读窗格的宿主DOM。Office Add-in采用严格的沙箱隔离机制,你的独立HTML插件页面和Outlook Web的主页面分属不同执行上下文,浏览器同源策略加上Office的安全限制,完全阻断了跨上下文的DOM操作。
不要试图绕开这个限制——这既不符合官方规范,也存在安全风险,而且大概率会在Outlook版本更新后失效。推荐用官方提供的API来实现你的需求:
- 直接用Office JS API实现邮件操作
你已经在上下文菜单添加了按钮,只需要在按钮的点击事件里调用官方API,就能实现和原生“回复”“全部回复”一致的功能:// 回复当前邮件 Office.context.mailbox.item.replyAsync({ // 可配置回复内容等参数 }, function(result) { // 处理回调结果 }); // 全部回复 Office.context.mailbox.item.replyAllAsync({ // 配置参数 }, function(result) { // 处理回调结果 }); - 用任务窗格承载自定义操作入口
如果一定要在邮件附近展示自定义图标,可以通过任务窗格实现。任务窗格可与当前选中的邮件联动,点击窗格内的图标触发上述API操作,这是官方允许的扩展方式。 - 利用官方扩展点补充操作
目前Outlook Web Add-in没有开放直接在阅读窗格邮件内容区插入自定义图标的API,但你可以通过自定义上下文菜单、邮件属性面板这些官方扩展点提供操作入口,同样能满足用户的操作需求。
内容的提问来源于stack exchange,提问作者At Work
相关产品推荐
相关产品推荐

