随笔分类 -  JS

大文件切片上传和断点续传
摘要:前端(img为例) 前端用input选择文件file, 用spark-md5.js为file按内容起个hash名字(尽量独一无二),hashName 然后file.slice(start, end)按自己的需求(最多切多少片?每片最大size等)将文件切片,然后为每个切片按顺序命名,eg:第一片就叫 阅读全文

posted @ 2022-02-11 19:32 In-6026 阅读(153) 评论(0) 推荐(0)

文件拖拽上传
摘要:<div id="box"></div> let box = document.getElementById('box') box.addEventListener('draover', (e) => { e.preventDefault() }) box.addEventListener('dro 阅读全文

posted @ 2022-02-11 19:11 In-6026 阅读(43) 评论(0) 推荐(0)

前端文件上传+expressJs后端文件写入
摘要:多文件选择 <input type="file" multiple /> 下面以单文件为例 ###方式1:前端FormData + 后端multiparty 前端 //第一种:通过form表单 <form action="/" method="post" enctype="multipart/for 阅读全文

posted @ 2022-02-07 22:53 In-6026 阅读(124) 评论(0) 推荐(0)

URL.createObjectURL(File),URL.revokeObjectURL(url)
摘要:URL对象可以通过createObjectURL(any)方法来将任意内容any用一个地址来表示 栗子: <input type="file" id="F" /> let F = document.getElementById('F') F.onchange = function(event) { 阅读全文

posted @ 2022-02-03 17:51 In-6026 阅读(132) 评论(0) 推荐(0)

File,Blob,FileReader,ArrayBuffer,TypeArray,DataView
摘要:File就是用户计算机上的文件,一般通过<input type="file" />标签来使用户选择文件,选择后可以知道文件的大小,名称,类型等基础信息 File长这样,是个对象 Blob是Binary large Object缩写,人话:它是一个不可变的,包含二进制数据的,类文件对象(即:像是上面那 阅读全文

posted @ 2022-02-03 11:45 In-6026 阅读(90) 评论(0) 推荐(0)

前端文件下载
摘要:###a标签download属性实现下载 缺点:只能下载同一个ip,端口下的文件,不能跨域(不论被下载文件的后端允不允许跨域,都不行) <a download href="#"></a> ###后端实现,nodeJs的expressJs框架为例 访问该地址就会打开系统文件夹,提示下载,不会显示要下载 阅读全文

posted @ 2022-02-03 04:42 In-6026 阅读(66) 评论(0) 推荐(0)

File API FileReader与FileReaderSync
摘要:###标签实现 <input type="file" id="files" /> ###获取被选择的文件的基础信息 |属性|作用| | | | |name|被选中文件的文件名| |size|文件大小(单位:字节byte)| |type|文件类型(image,text等)| |lastModified 阅读全文

posted @ 2022-02-02 07:22 In-6026 阅读(278) 评论(0) 推荐(0)

String.at( -1 )类似于python
摘要:let str = '123456' console.log(str.at(-2)) //5 阅读全文

posted @ 2022-02-01 03:23 In-6026 阅读(42) 评论(0) 推荐(0)

Proxy,getter,setter
摘要:let person = { name: 'LLC' , gender: 'meal' } let proxy = new Proxy(person, { get() { console.log('get') return Reflect.get(...arguments) } , set() { 阅读全文

posted @ 2022-02-01 03:20 In-6026 阅读(42) 评论(0) 推荐(0)

Promise
摘要:###Promise(期约) let p = new Promise(function(resolve, reject) { //二者选一,有一个出现,后面那个就会失效 //resolve(data) //reject('Error') }) ####.then() p.then((data) => 阅读全文

posted @ 2022-01-28 20:32 In-6026 阅读(40) 评论(0) 推荐(0)

async和awiat
摘要:###async和awiat(异步函数策略) //async标识函数是异步函数,所有async标志的函数都有then属性,then(onResolve, onReject),onResolve接收函数return的结果,onReject接收throw的结果 async function a() { 阅读全文

posted @ 2022-01-28 20:30 In-6026 阅读(175) 评论(0) 推荐(0)

删除子节点innerHTML=''与removeChild()
摘要:引用于(更多请看): https://www.cnblogs.com/bluedream2009/archive/2010/02/23/1672133.html 当用removeChild时,移除元素的结构并没有发生变化.但使用innerHTML清除时,其他浏览器中被移除的元素的结构和removeC 阅读全文

posted @ 2022-01-09 01:10 In-6026 阅读(204) 评论(0) 推荐(1)

让drop生效
摘要:在Html里做拖拽时,发现定义了ondragstart,ondragleave, ondrop事件后,ondrop始终不触发,原因是没有定义ondragover事件,ondragover事件是被拖拽元素在目标元素上拖拽过程中由目标元素触发,需要取消掉它的默认事件才可以正确触发e.preventDef 阅读全文

posted @ 2021-12-30 00:49 In-6026 阅读(49) 评论(0) 推荐(0)

pageX,pageY,screenX,screenY,clientX,和clientY,offsetX ,offsetY,layerX,layerY区别
摘要:坐标原点(左上角) page document screen 计算机屏幕 client 浏览器 offset 引发事件的节点 layer 最近的绝对定位的父节点(当所有父节点都不是绝对定位时,就以document为参照,即和page一样) 比较特殊的时offset和layer,其中layer是非标准 阅读全文

posted @ 2021-12-29 23:06 In-6026 阅读(158) 评论(0) 推荐(0)

MutationObserver接口
摘要:MuataionObserver 替代了 MutationEvent 当被监听的节点发生变化时,执行某段函数 btn.onclick = function() { document.body.removeChild(document.getElementById('test')) } let obs 阅读全文

posted @ 2021-12-28 19:22 In-6026 阅读(32) 评论(0) 推荐(0)

js 事件防止冒泡 event.stopPropagation()
摘要:<div id="app"> <button id="btn">click</button> </div> const btn = document.getElementById('btn'); btn.addEventListener('click', function(event){ event 阅读全文

posted @ 2021-10-05 02:26 In-6026 阅读(43) 评论(0) 推荐(0)

mouseout和mouseleave的区别
摘要:mouseleave事件是各元素各自触发,不是由子元素冒泡而来,而mouseout是由子元素冒泡而来。 ####举个栗子 .app1 { width: 300px; height: 300px; border: 1px dashed black; } .app2 { width: 200px; he 阅读全文

posted @ 2021-10-05 02:07 In-6026 阅读(93) 评论(0) 推荐(0)

数组基本操作
摘要:let arr = [1,2,3,4,5] let brr = ['a','b','c','d','e'] 增 arr.unshift(num) //在arr开头插入unm元素(num可为若干任意元素),并返回arr插入后长度 arr.push(num) //在arr末尾插入unm元素(num可为若 阅读全文

posted @ 2021-06-24 02:02 In-6026 阅读(72) 评论(0) 推荐(0)

JS数组元素去重
摘要:一维数组去重 let arr = [1,2,3,4,5,4,,3,2,1] let set = new Set() arr.forEach((item)=> set.add(item)) let a = Array.from(set) console.log(a) //[1,2,3,4,5] 二维数 阅读全文

posted @ 2021-01-29 03:00 In-6026 阅读(62) 评论(0) 推荐(0)

JS数字转数字数组,并倒叙排序
摘要:let num1 = 708 let arr = [] let str = String(num1) //数字转字符串 for (let q=0; q<str.length; q++){ arr[q] = str[q] //字符串存入数组 } console.log(arr) //["7", "0" 阅读全文

posted @ 2021-01-27 21:00 In-6026 阅读(141) 评论(0) 推荐(0)

导航