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 上,我遇到了一个非常具体的错误。
这是预期的行为
- 用户点击任何 link 除了指向 MP4 文件的按钮。
- 新选项卡打开,提示查看或下载。
- 当用户点击“下载”时,原始列表页面会在浏览器右上角显示一个下载图标。从那里,用户可以查看下载的文件。
这是一个错误
- 用户点按 link 到 MP4 文件。
- MP4 视频在新标签页中播放。
- 当用户点击“x”图标退出视频时,屏幕返回到原始列表页面。
- 如果用户再次点击视频 link,视频将在新标签页中播放。但是当用户点击“x”时,视频会再次自动播放。
- 同时,如果用户在 3 之后点击非 MP4 link,将按预期出现提示查看或下载的提示。但是当用户点击“下载”时,之前的视频开始自动播放。
4 和 5 是不可接受的行为。我试过尝试不同的东西,比如将 rel="noopener noreferrer"
和 download
添加到锚标记但无济于事。
我该如何解决这个问题,以便用户在观看视频后仍然可以下载非 MP4 文件?
提前致谢。
我最终删除了 target="_blank"
只是为了指向 MP4 文件的链接。由于即使没有 target="_blank"
也会保留原始选项卡,因此没有必要。
以下是我遇到的问题的简化版本。
我有一个网页,其中包含 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 上,我遇到了一个非常具体的错误。
这是预期的行为
- 用户点击任何 link 除了指向 MP4 文件的按钮。
- 新选项卡打开,提示查看或下载。
- 当用户点击“下载”时,原始列表页面会在浏览器右上角显示一个下载图标。从那里,用户可以查看下载的文件。
这是一个错误
- 用户点按 link 到 MP4 文件。
- MP4 视频在新标签页中播放。
- 当用户点击“x”图标退出视频时,屏幕返回到原始列表页面。
- 如果用户再次点击视频 link,视频将在新标签页中播放。但是当用户点击“x”时,视频会再次自动播放。
- 同时,如果用户在 3 之后点击非 MP4 link,将按预期出现提示查看或下载的提示。但是当用户点击“下载”时,之前的视频开始自动播放。
4 和 5 是不可接受的行为。我试过尝试不同的东西,比如将 rel="noopener noreferrer"
和 download
添加到锚标记但无济于事。
我该如何解决这个问题,以便用户在观看视频后仍然可以下载非 MP4 文件?
提前致谢。
我最终删除了 target="_blank"
只是为了指向 MP4 文件的链接。由于即使没有 target="_blank"
也会保留原始选项卡,因此没有必要。