有没有办法强制 MS Edge 在自身内部打开 Excel 文件而不是下载它?

Is there a way to force MS Edge to open an Excel file within itself rather than download it?

提问人:oreganoli 提问时间:10/11/2023 更新时间:10/12/2023 访问量:381

问:

在我的组织中,使用 MS Edge 作为其默认浏览器,有一个定期更新且经常打开的 Excel 电子表格,我们将其托管在内部 IIS 服务器上,并从另一个内部 ASP.NET 网站链接到该电子表格,也在 IIS 上。 每次有人单击该链接时,文件都会再次下载,并且必须在用户的 Excel 桌面副本中手动打开,即使 Edge 现在可以(通过 Office Web 应用)查看 MS Office 文件,并且此设置默认处于打开状态。 是否启用了 Edge 中的“在浏览器中打开 Office 文件”选项与发生的情况无关。拖放或 Ctrl+O 键下载的文件只会让 Edge 再次“下载”它。

我的问题在这里:

  • Edge 究竟是如何决定它可以打开哪些 MS Office 文件的?是否仅支持某些版本的 Office?我已经尝试了默认的 .xlsx 文件类型和具有相同效果的 Office 97-2003 .xls;该文件可能没有任何格式错误或特殊之处,因为我的测试文件几乎是带有一个文本单元格的空电子表格
  • 是否有某种机制可以强制浏览器尝试打开它支持的文件,类似于标签上的属性? 似乎是我正在寻找的,但是检查网络选项卡中的下载显示此标头不存在,因此应该是默认假定的值。downloadaContent-Disposition: inlineinline
  • 我曾考虑过嵌入存储在 OneDrive 中的文档副本,但此功能似乎已被弃用。是这样还是组织可以禁用它?

作为最后的手段,我们可以将文档存储为 PDF(它本质上是只读的)。

试:

  • 使用组策略/注册表项强制启用“在浏览器中打开 Office 文件”选项
  • 只需打开文件的链接
  • 使用 Edge 打开本地存储的 Excel 文件

每个人都使用其 Microsoft 帐户登录 Office 365,我也看到这是一项要求。

期望值:

  • Excel 文件使用 Edge 的 Office 查看器功能在新选项卡中显示给用户

现实:

  • 下载 Excel 文件
asp.net Excel HTTP Microsoft-Edge 附件

评论

0赞 VDWWD 10/11/2023
“有没有办法强制MS Edge打开Excel文件”?不,没有。这取决于用户。
1赞 oreganoli 10/12/2023
也许我措辞错了。我并不是说让 Edge 以编程方式自行执行某些操作,我的意思是在用户请求该文件时强制执行特定行为。
0赞 VDWWD 10/12/2023
答案仍然是否定的,你不能强迫一种行为(那将是一个巨大的安全风险)

答:

3赞 Yu Zhou 10/12/2023 #1

“在浏览器中打开 Office 文件”此功能适用于以下限制下的公共可访问的 Office 文档。您可以参考这篇文章,检查您的 Excel 文件是否符合要求:

OpenInOfficeViewerIfApplicable 功能监视导航,以检测何时观察到与 Office 相关的文件扩展名 (, etc) 或 (, etc),指示导航直接指向 Office 文档,否则该文档将被视为具有非 webby MIME 类型,因此通常会转换为下载。.xls, .docx, pptxContent-Typesapplication/msword, application/vnd.ms-excel

如果出现以下情况,则会绕过该功能:

  1. 该复选框在Open Office files in the browseredge://settings
  2. 响应包含标头Content-Disposition:attachment
  3. 请求包含 or 标头AuthorizationProxy-Authorization
  4. 用户从浏览器上下文菜单上的项目启动下载“Save As”
  5. 引用 URL 位于一组有限的豁免域(Office、SharePoint、OneDrive、Blackboard 等)上
  6. 请求方法不是GET
  7. 文件大小未知(例如Transfer-Encoding: chunked)
  8. 文件大小超过 100mb
  9. 浏览器在隐身模式下运行
  10. 该文件是从不可公开路由的 IP 地址提供的

评论

0赞 VDWWD 10/12/2023
不过,这只有在用户允许的情况下才有效。服务器不能强制执行。
0赞 oreganoli 10/12/2023
问题出在第 10 点。