【发布时间】:2022-09-28 13:59:47
【问题描述】:
最近遇到一个问题,我写了下面的HTML代码来实现文件下载:
<div id=\"downloadLinkListEl\">
<a href=\"./xlsx/test0.xlsx?t=1663997904033\" target=\"_blank\">test0</a>
<a href=\"./xlsx/test1.xlsx?t=1663997904033\" target=\"_blank\">test1</a>
<a href=\"./xlsx/test2.xlsx?t=1663997904033\" target=\"_blank\">test2</a>
<a href=\"./xlsx/test3.xlsx?t=1663997904033\" target=\"_blank\">test3</a>
</div>
以上所有文件的扩展名都是.xlsx,可以用Microsoft Excel打开。
在大多数浏览器中,代码都可以按照我们的预期运行——点击超链接后,会打开一个新窗口,然后启动下载任务。
但是,在 Edge (Chromium) 中,打开了两个窗口,第二个窗口将重定向到 Microsoft 提供的 Office Online Viewer——这是我们意想不到的。
其实这个可以通过修改Edge的默认设置来解决: \"Open Office files in the browser\" in setting
但是对于最终用户来说,用户体验很糟糕。
那么,在使用 Edge 时,有什么方法可以直接下载文件而不是重定向到 office 在线查看器?
-
您可以尝试在
<a>标签中添加downloadattribute。然后我认为它会直接下载文件而不是在Edge中打开它。 -
@YuZhou 我试过了。但它不起作用。在线办公室查看器仍处于打开状态。
标签: html cross-browser microsoft-edge chromium web-frontend