微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用户在Web应用程序中的“保存”,“下载”和“打开”之间的混淆

如何解决用户在Web应用程序中的“保存”,“下载”和“打开”之间的混淆

我的Web应用程序允许用户通过下载文件来“保存”文件,如下所述(Source)。

但是,像Firefox这样的浏览器在其认设置下会尝试打开文件,并显示“正在打开filename.json”,而不是“正在保存文件”。虽然我知道这样做的原因是浏览器试图按这种方式立即打开下载的文件,但是这使我的用户感到困惑,因为对于同一用户,现在有三个不同的词(“下载”,“保存”,“打开”)操作,他们不知道他们是否选择了错误的设备。还有一个加载选项,用户可以上传保存的数据以将其加载到应用程序中,从而增加了混乱。

是否有任何方法告诉浏览器停止尝试打开文件(无论如何它都无法执行,这是该Web应用程序的自定义格式),还是有其他方法可以使用户更加清晰?

export function saveJson(data,fileName)
{
  if(a===null)
  {
    a = document.createElement("a");
    document.body.appendChild(a);
    a.style = "display: none";
  }
  const json = JSON.stringify(data);
  const blob = new Blob([json],{type: "application/json"});
  const url = window.URL.createObjectURL(blob);
  a.href = url;
  a.download = fileName;
  a.click();
  window.URL.revokeObjectURL(url);
  log.debug("JSON File saved: "+fileName);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。