无法加载资源:下载多个文件时,Safari 浏览器中的帧加载中断

Failed to load resource:Frame load interrupted in Safari browser while downloading multiple files

本文关键字:加载 浏览器 Safari 中断 文件 资源 下载      更新时间:2023-09-26

我的应用程序中有下载功能。在这里,我们也可以下载多个文件。我收到此错误 - **Failed to load resource:Frame load interrupted in Safari browser while downloading multiple files**

该问题仅在野生动物园中。 下载在其他浏览器(火狐,Chrome和IE)中工作正常。

我正在使用锚标签下载.如何使用锚标签下载文件

我在使用 Safari 时遇到了同样的问题 就我而言,我正在创建一个 svg 文件,然后将其转换为 pdf 文件,即我正在下载的文件 除 safari 外,它适用于其他浏览器(火狐、铬)。(我没有在IE上检查这个)

我的代码问题是svg标签中缺少'xmlns=http://www.w3.org/2000/svg'属性,这解决了我的问题,希望对您有所帮助

锚标记下载属性在 Safari 中不起作用。我不确定您收到的此错误是否相关,但无论如何,下载都不会在 Safari 中运行。

源http://www.w3schools.com/tags/att_a_download.asp

你可以试试这个jQuery插件,它允许你通过javascript下载文件。我测试了它,它似乎可以在Chrome和Safari中运行,并在所有其他主要浏览器上进行了测试。

我希望这会有所帮助。我在NodeJS应用程序的Safari上遇到了同样的下载问题。这不是真正的问题,也不是Safari的问题。就我而言,Safari只是在做这项工作。

解释

步骤#1:当你有一个HTTP链接(<a></a>),你点击它,将要发生的是发送到你的服务器(NodeJS,Nginx或Apache)的常规HTTP GET请求。

步骤#2:然后,您的后端将为Response with your attachment提供服务。我将假设您已经正确完成了有关标题的所有操作; content-typecontent-dispositioncontent-content-length

步骤#3:然后浏览器收到响应并按应有的方式处理它:我要求HTTP请求,我期待HTTP响应。

NodeJS中的事情是,如果您不发送response.end(),您将获得Failed to load resource: Frame load interrupted。同时,如果您确实发送了包含或不包含内容的response.end(),它将替换触发请求的页面的内容。

溶液我发现对我有用的是Step #1发送XML HTTP GET请求,meaning AJAX请求,而不是常规HTTP GET。这样,该操作在后台被视为 XMLRequest: {'X-Requested-With': 'XMLHttpRequest'}

要实现这一点,你可以手动完成,也可以使用像jQuery这样的框架。

在使用iOS云应用程序时遇到与上述相同的错误

对我有用的解决方案

从App Store安装Mozilla Firefox使用火狐浏览器登录云应用程序的网页。完美工作