我正在编写一个 Google Chrome 扩展程序,可让您下载数据的备份文件。我希望用户能够按下按钮并打开“另存为”对话框,他们可以将文件保存到他们的计算机。似乎没有任何效果,我还没有在互联网上找到答案。我尝试了几种方法:
- 使用
document.execCommand('SaveAs', null, 'filename.json');
This 不起作用,因为此命令仅适用于 IE,并且似乎没有 Webkit-alternative - 使用数据 URI。这是在 Opera 和 Firefox 中最有前途和最有效的方法,但问题是 Chrome 和 Safari 似乎都不支持 URI 中的 Content-disposition=attachment;-header。这应该有效。(Chrome 甚至不允许我
ctrl/cmd+s
从数据 URI 访问页面) - 使用
XMLHTTPRequest
. 我还没有尝试过,但是必须有某种方式可以转发请求?请注意,我不想使用外部服务器(在这种情况下,我可以简单地发送一个 POST 请求并应用一个 Content-disposition:-header) - 使用可用的 Chrome 扩展 API。但似乎没有任何东西可以用于此目的。
我不想使用任何外部服务器的原因是我不想支付托管费用,并且发送的数据可能对用户很敏感,我不想侵犯任何人的隐私。
有没有人让这个工作?