XMLHttpRequest的折旧替代方案是什么,用于文件保存程序?

问题描述 投票:0回答:2

我正在使用File Saver作为我的React应用程序来下载文件。

var FileSaver = require('file-saver');
..
..
..
FileSaver.saveAs(files['file_path'], files['file_title']);

它运行正常,但几天后它现在显示错误。

不赞成在主线程上使用

[Deprecation]同步XMLHttpRequest,因为它对最终用户的体验有不利影响。如需更多帮助,请检查https://xhr.spec.whatwg.org/

javascript reactjs filesaver.js
2个回答
1
投票

这显示是因为[sets async parameter to false的[[FileSaver.js async,当它使用false方法进行请求时,而在您的情况下,是因为您正在从XMLHttpRequest.open()中获取数据。

注:主线程上的同步请求很容易破坏用户体验,应避免;实际上,许多浏览器完全不赞成在主线程上使用同步XHR。XMLHttpRequest.open()中允许同步请求。

[如果我们查看源代码,我们将看到注释被设置为corsEnabled,以避免弹出窗口阻止程序:

corsEnabled
关于此警告different origin source,还有一个未解决的问题,根本没有任何响应。

我建议您在解决此警告消息之前将其忽略。您总是可以派生该仓库,并从Workers调用中删除该异步false参数。


0
投票
您可以通过从function corsEnabled (url) { var xhr = new XMLHttpRequest() // use sync to avoid popup blocker xhr.open('HEAD', url, false) ... } 调用Chrome gives me a warning in Angular app来摆脱警告:

false

© www.soinside.com 2019 - 2024. All rights reserved.