如何仅在下载对象 URL 后才撤销该对象 URL?

2023-11-21

我使用以下代码在 JavaScript 中保存文件:

var a = document.createElement('a');
a.href = URL.createObjectURL(new Blob(['SOME DATA']));
a.download = 'some.dat';
a.click();

我想在文件下载后撤销 URL(使用 URL.revokeObjectURL)。什么时候这样做才安全?

打电话后可以立即撤销吗a.click()(这似乎有效,但我不确定它是否安全)?在a的点击事件监听器?有没有办法让点击事件侦听器运行after默认操作?


a.click()在 DOM 元素上模拟单击该元素,而不是传播单击事件,因此它会直接发送到浏览器。我相信使用计时器将 URL 对象的撤销移至另一个事件周期会更安全一些:

setTimeout(function() {
 URL.revokeObjectURL(a.href);
}, 0);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何仅在下载对象 URL 后才撤销该对象 URL? 的相关文章

  • 动态加载css的方法

    我很早就知道 您可以使用 addRule 和 insertRule 动态地将样式规则加载到页面中 具体取决于它是 IE 还是兼容标准的浏览器 但我刚刚发现 在 Chrome 上 一种更通用 对我来说 的方法效果很好 创建一个 style 元
  • Three.js - 如何使用姿势估计数据为 3D 模型制作动画

    我正在尝试使用姿势估计坐标来对 Three js 中的装配模型进行动画处理 我正在使用的姿势估计技术提供了视频源中人物的实时 x y z 坐标 我正在尝试使用这些坐标相应地移动 3D 模型 我使用下面的代码 其中一些代码是我在相关问题的答案
  • 让 GTM 代码在 Web 应用程序上运行

    我们公司的职业 工作网站使用第三方服务 允许用户提交职位发布申请 最初 用户登陆一个与 GTM 完美集成的外部平台 在 CMS 中 您可以轻松地将 GTM 代码添加到标题和正文区域 然而 一旦用户点击职位描述上的 应用 他们就会被重定向到一
  • Google 地图自动完成 - 最多 3 个字符类型

    我已经实现了带有搜索框的谷歌地图 它允许用户通过搜索来选择地址 在该搜索框中 即使我输入 1 个字符 它也会进行搜索 我希望用户至少输入 3 个字符 否则它不应该进行搜索 My JS Fiddle is http jsfiddle net
  • 如何在 JavaScript 中将本地化日期转换为标准日期?

    我正在编写一段 JavaScript 代码来对包含日期 包含本地化日期 和其他字段的数据表进行排序 例如 lunes 29 de agosto de 2011 field1 field2 lunes 28 de agosto de 2011
  • 如何限制注册用户尝试投票两次[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 php 编码和网站设计非常陌生 我正在尝试开发一个在线投票系统 只允许注册用户投票 已完成所有操作并且工作正常 但我需要的帮助是
  • 在javascript/jQuery中设置Java的数据结构

    有没有办法在javascript中像java一样创建集合数据结构 唯一集合 对于一组字符串 我只使用值为 true 的对象 var obj obj foo true obj bar true if obj foo foo in set 这基
  • underscore.js 中断路器的重要性是什么? [复制]

    这个问题在这里已经有答案了 In 下划线 js http underscorejs org docs underscore html 有这样的代码 if iterator call context obj keys i keys i obj
  • 获取顶部框架的 URL

    在 Facebook 应用程序中 我需要检查顶部框架 主窗口 URL 是什么 并相应地显示内容 我尝试使用以下内容 if top location toString toLowerCase indexOf facebook com lt 0
  • 如何从 JQuery - IonRangeSlider 获取值?

    我怎样才能得到低值和高值ion rangeSlider http ionden com a plugins ion rangeSlider en html通过单击按钮来组件 这是我的 jQuery 代码
  • 仅在文件下载完成后设置 cookie。

    我有一个场景 我想告诉用户下载完成并提示关闭按钮 为此 我使用 jquery 插件来连续监视 cookie 以了解下载何时完成 我的问题是我想设置这个cookie fileDownload true and path 下载完成后立即进行 为
  • 如何并排展开和折叠三个div?

    document ready function toggle click function if this data name show sidebar animate width 10 hide map animate width 89
  • 保持 WebSocket 连接处于活动状态

    我正在研究 WebSocket 协议 并尝试在后端使用 Python 实现一个简单的 ECHO 服务 它似乎工作正常 但连接建立后立即断开 这是我的客户
  • 使用 jquery 选中和取消选中所有复选框

    我正在使用此脚本来选中和取消选中所有复选框 checkall click function var checked this data checked chkall find checkbox attr checked checked th
  • 使用backbonejs视图,将“onload”事件附加到图像标签的最佳方法是什么?

    我想在backbonejs 视图中为图像附加一个 onload 事件 我目前将其作为 load img function 包含在 事件 中 但它没有被触发 这样做有什么建议吗 Backbone的事件处理基于delegate https st
  • Highcharts 异步服务器加载多个系列

    我正在尝试按照其示例使用 Highcharts 的延迟加载 http www highcharts com stock demo lazy loading http www highcharts com stock demo lazy lo
  • 为车把/余烬定义模板内的数组?

    我在 ember 应用程序中有一个车把模板 它接受一个数组 我目前像这样声明数组 模板 Gd radio input content radioContent value blue JavaScript App IndexControlle
  • Angular 4 - “等待操作”的正确方法是什么?

    我遇到了一个简单的问题 有一个很奇怪的解决方案setTimeout 0 看看这个简单的代码 Component selector my app template div div
  • React.js 的状态基于其他状态

    我遇到了 React js 的一些问题 并且在调用 setState 时状态没有立即设置 我不确定是否有更好的方法来解决这个问题 或者这是否真的只是 React 的一个缺点 我有两个状态变量 其中一个基于另一个 原始问题的小提琴 http
  • jQuery - 将日期选择器的容器设置为特定的 div

    我在 div 上使用 jQuery UI 日期选择器 div通过移动鼠标隐藏和显示 因为日期选择器存在于末尾标签 不在我的 div 内 当我将鼠标移动到日期选择器时 div 消失 我像这样加载了日期选择器 JavaScript dt1 da

随机推荐