之前不太了解浏览器对于Blob和File对象的开放程度,以为不支持直接下载。因为一直觉得浏览器下载必须要一个下载地址,不支持将变量中的文件保存到本地,直到看到了前端同事的代码才发现自己是错的,牢记牢记。
使用 window.URL.createObjectURL() 方法可以创建指向 Blob 或 File 对象的临时URL,这样你就可以在浏览器中下载这个 Blob 或 File 对象。
(1)、创建 Blob 对象
let blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});(2)、创建指向 Blob 的 URL
let url = window.URL.createObjectURL(blob);
(3)、创建一个用于下载的链接
let a = document.createElement("a");
a.href = url;
a.download = "file.txt"; // 或者任何你想要的文件名
a.style.display = 'none'; // 隐藏链接
document.body.appendChild(a);(4)、触发下载
a.click();
(5)、清理URL
window.URL.revokeObjectURL(url);
window.setInterval(method,time)方法本身会返回一个资源句柄,使用clearInterval(Intervalid)方法即可清除定时器<script> var num=0; //每隔1秒再控制台输...
<!-- 三个核心方法 openDatabase:这个方法使用现有数据库或创建...
开发需求如下,商品下单后需要指定送到日期:送达日期为周一 周三 周六 ,如果今天周一,用户选择周一即为下一周周一。代码如下:<html> <head> <meta charset="utf-8"> <title>...
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>获取mac地址</title> </head&g...
代码1:<!--代码开始--> <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> <script>...
维护老项目中客户提到一个页面中有6个表单以上,导致每次保存一个其他的数据全部丢失,自己比较懒没有全部更换为ajax.用户每次输入完成或者选择完成记录cookie,每次提交后加载页面完成初始化cookie即可。以下代码取自w3school比较完善,之前在其他博客使用的经常出现bug,这个比较推荐使用:...