You need to enable JavaScript to run this app. 如何将Teams hero card的openUrl动作URL在协作视图打开而非新浏览器窗口?
优惠活动
大模型
产品
解决方案
定价
更多

如何将Teams hero card的openUrl动作URL在协作视图打开而非新浏览器窗口?

可行性结论

该效果完全可以实现,不存在权限或能力层面的阻碍,其底层逻辑和你在聊天中看到的文档共享同屏打开的机制完全一致,不需要开发自定义的深度Teams扩展。

推荐实现路径
  • 零代码改造成本的配置方案:
    直接调整原有Hero卡片上的按钮动作参数,替换默认openUrl动作的全局打开逻辑。在Action.OpenUrl的配置中添加Teams专属的扩展属性,将打开模式指定为内联渲染,系统就会自动把目标URL加载到与聊天会话并列的协作视图区域,不再弹出独立的浏览器窗口。
    对应卡片按钮的配置示例:
    {
      "type": "Action.OpenUrl",
      "title": "打开协作视图页面",
      "url": "https://your-target-domain.com/your-page",
      "teamsExtensions": {
        "displayMode": "inline"
      }
    }
    

    前置要求:必须将目标URL所属的域名,添加到你的Teams应用清单(manifest)的validDomains白名单中,否则Teams会触发安全拦截,强制将链接降级为新窗口打开。
    这种方案不需要对目标URL本身做任何代码改造,只要链接对应的页面可以在普通浏览器正常访问,就可以在Teams的内联WebView容器中正常渲染。

  • 高可控性的定制方案:
    如果需要在打开URL时携带当前聊天的上下文信息(比如传递会话ID、当前用户标识,或者做打开后的状态回调),可以将按钮动作替换为Action.Execute类型,由后端Bot服务接收用户的点击事件,再通过Bot Framework接口触发右侧协作区的URL打开动作。这种方案可以根据当前会话的动态信息调整打开的链接参数,实现和会话深度绑定的协作体验。
常见注意事项
  • 内联打开的协作视图默认是Teams原生的无地址栏WebView,不需要额外开发适配层,和共享文档的预览容器是同一套渲染逻辑。
  • 不要尝试通过自定义UI模拟该效果,Teams本身对窗口布局有严格的管控,原生API实现的体验才会和系统自带的共享文档表现一致。
  • 如果配置完成后点击按钮还是触发新窗口打开,优先检查目标域名是否已加入应用清单的validDomains白名单,这是最常见的配置踩坑点。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.01 12:06:09