target="_blank" 指向 MP4 文件的链接在 iOS Safari 中有错误

target="_blank" links to MP4 files buggy in iOS Safari

以下是我遇到的问题的简化版本。

我有一个网页,其中包含 link 种远程托管 (S3) 文件的列表。它看起来像这样。我希望 link 在不同的选项卡中打开,所以我使用 target="_blank"。如果浏览器的默认行为是下载文件,那也没关系。

<a target="_blank" href="https://my-hosted-files.com/materials.pptx">
  Link to powerpoint
</a>
<a target="_blank" href="https://my-hosted-files.com/intro.mp4">
  Link to video
</a>
<a target="_blank" href="https://my-hosted-files.com/onboarding.docx">
  Link to document
</a>

这适用于大多数浏览器,但在 iOS Safari 上,我遇到了一个非常具体的错误。

这是预期的行为

  1. 用户点击任何 link 除了指向 MP4 文件的按钮。
  2. 新选项卡打开,提示查看或下载。
  3. 当用户点击“下载”时,原始列表页面会在浏览器右上角显示一个下载图标。从那里,用户可以查看下载的文件。

这是一个错误

  1. 用户点按 link 到 MP4 文件。
  2. MP4 视频在新标签页中播放。
  3. 当用户点击“x”图标退出视频时,屏幕返回到原始列表页面。
  4. 如果用户再次点击视频 link,视频将在新标签页中播放。但是当用户点击“x”时,视频会再次自动播放。
  5. 同时,如果用户在 3 之后点击非 MP4 link,将按预期出现提示查看或下载的提示。但是当用户点击“下载”时,之前的视频开始自动播放。

4 和 5 是不可接受的行为。我试过尝试不同的东西,比如将 rel="noopener noreferrer"download 添加到锚标记但无济于事。 我该如何解决这个问题,以便用户在观看视频后仍然可以下载非 MP4 文件?

提前致谢。

我最终删除了 target="_blank" 只是为了指向 MP4 文件的链接。由于即使没有 target="_blank" 也会保留原始选项卡,因此没有必要。