javascript 加载资源失败:下载多个文件时Safari浏览器中的帧加载中断

ipakzgxi  于 2023-01-29  发布在  Java
关注(0)|答案(4)|浏览(335)

我有下载功能在我的应用程序。在这里我们可以下载多个文件以及。我得到这个错误-**Failed to load resource:Frame load interrupted in Safari browser while downloading multiple files**
这个问题只在safari. the下载工作正常,在其他浏览器(火狐浏览器, chrome 和IE).
我正在使用锚标记下载. how to download file using anchor tag

bwntbbo3

bwntbbo31#

我有同样的问题与Safari浏览器在我的情况下,我正在创建一个svg文件,然后将其转换为pdf文件,这是我下载的文件,它在其他浏览器(火狐, chrome )除了safari.(我没有检查这在IE浏览器)
我的代码的问题是svg标签中缺少'xmlns=http://www.w3.org/2000/svg'属性,这修复了我的问题,希望这对您有所帮助

yks3o0rb

yks3o0rb2#

锚标记下载属性在Safari中不起作用。我不确定您收到的这个错误是否相关,但无论如何下载都不会在Safari中起作用。
源代码http://www.w3schools.com/tags/att_a_download.asp
你可以试试this jQuery plugin,它可以让你通过JavaScript下载文件,我测试过了,它似乎在Chrome和Safari中都能工作,在其他所有主要浏览器上都经过了测试。

piv4azn7

piv4azn73#

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

    • 解释**
    • 步骤#1:**当您有一个HTTP链接(<a></a>),并单击它时,将发生一个常规的HTTP GET请求发送到您的服务器(NodeJS、Nginx或Apache)。
    • 步骤#2:**然后,您的后端将服务于Response with your attachment。我将假设您已经正确地完成了关于头文件的所有工作;一米三米一,一米四米一,一米五米一。
    • 步骤#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之类的框架。

vq8itlhq

vq8itlhq4#

得到这同样的错误象以上当使用一个ios云应用程序

对我有效的解决方案

安装Mozilla火狐从应用程序商店登录到网页的云应用程序使用火狐.工作完美

相关问题