梧桐生矣_ 2022-07-22 11:02 采纳率: 25%
浏览 64

关闭浏览器页面怎么像后代发送请求

关闭浏览器不会向后台发请求是什么原因。谷歌,360可以,edge就不行,是用下面这个方法不行吗

mounted() {
    window.addEventListener("beforeunload", (e) => this.beforeunloadHandler(e));
    window.addEventListener("unload", (e) => this.unloadHandler(e));
  },
  destroyed() {
    window.removeEventListener("beforeunload", (e) =>
      this.beforeunloadHandler(e)
    );
    window.removeEventListener("unload", (e) => this.unloadHandler(e));
  },
  methods: {
    beforeunloadHandler() {
      this.beforeUnloadTime = new Date().getTime();
    },
    unloadHandler(e) {
      this.gapTime = new Date().getTime() - this.beforeUnloadTime;
      //判断是窗口关闭还是刷新
      if (this.gapTime <= 5) {
        var closure = document.createElement("closure");
        //src是自己的后端地址以及参数(参数看自己需求)
        closure = this.axios.put("/sysUser/quit", this.form, {
          headers: {
            "Content-Type": "application/json",
            token: window.sessionStorage.getItem("token"),
          },
        });
        //将closure加到body中时就会立刻发送请求
        document.body.appendChild(closure);
      }
    },

在主页点击浏览器的回退按钮跳转到别的页面,然后关闭浏览器,也不能发请求,是什么原因QAQ

  • 写回答

1条回答 默认 最新

  • 天問_ 2022-10-27 17:54
    关注

    进程中断了,可以使用service worker试试,它有一个独立的 worker 线程,独立于当前网页进程,有自己独立的 worker context,可以在后台发送请求

    评论

报告相同问题?

问题事件

  • 创建了问题 7月22日

悬赏问题

  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询
  • ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
  • ¥30 关于R语言运行分区生存模型中的问题!
  • ¥15 校内二手商品转让网站
  • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
  • ¥100 求Web版SPC控制图程序包调式
  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀