美文网首页
判断浏览器刷新还是关闭并向后端发送数据navigator.sen

判断浏览器刷新还是关闭并向后端发送数据navigator.sen

作者: Neuro_annie | 来源:发表于2024-08-13 11:44 被阅读0次
    语法:
    navigator.sendBeacon(url);
    navigator.sendBeacon(url, data);
    
    参数:
    url 
    表明 data 将要被发送到的网络地址
    
    data 可选 
    是将要发送的 ArrayBuffer、ArrayBufferView、Blob、DOMString、FormData 或 URLSearchParams 类型的数据
    

    如何测试:
    可以同时打开两个窗口,观察刷新和关闭页面时localStorage值得变化

    let begin = 0;
    window.addEventListener("unload", () => {
      const differ = new Date().getTime() - begin;
      window.localStorage.setItem('unload', differ);
      if(differ <= 5) {  // 判断是刷新还是关闭
        const formData = new FormData();
        formData.append("rtspUrl", this.locationUrl);
        navigator.sendBeacon("/video/end_kd", formData);
      }
    });
    window.addEventListener("beforeunload",()=>{
      begin = new Date().getTime();
      window.localStorage.setItem('beforeunload', begin);
    })
    
    刷新页面-时间差为11 关闭页面-时间差为2

    相关文章

      网友评论

          本文标题:判断浏览器刷新还是关闭并向后端发送数据navigator.sen

          本文链接:https://www.haomeiwen.com/subject/mgqjkjtx.html