<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta http-equiv="X-UA-Compatible" content="IE=edge">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>Document</title></head><body>  <input type="file" onchange="changeFile(event)" />  <script>    async function changeFile(e) {      console.log(e)      let files = e.target.files      console.log(files)      console.log(await checkSize(files, 120), '校验胜利为true 失败为false、 120 示意120秒');    }    let checkSize = async (files, size) => {      // console.log(56, Number.isNaN(Number(size)), size)      if (!files || !files[0]) return false      // 这一条是正式服务器不须要这段所以当size 为undefined 时默认 返回 true      if (Number.isNaN(Number(size))) return true      const checktimevideo = document.getElementById('checktimevideo')      if (checktimevideo) {        document.body.removeChild(checktimevideo)      }      const video = document.createElement('video')      const url = URL.createObjectURL(files[0])      video.src = url      video.id = 'checktimevideo'      video.style.display = 'none'      document.body.appendChild(video)      return await gettime(video, size)    }    let gettime = (video, size) => {      const promise = new Promise(resolve => {        video.addEventListener('canplaythrough', e => {          console.log('就可视对讲', e, e.target.duration, size)          if (e.target.duration <= size) {            resolve(true)          } else {            resolve(false)          }        })      })      return promise    }  </script></body></html>