微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript (window).unload in 不适用于某些 chrome 版本

如何解决javascript (window).unload in 不适用于某些 chrome 版本

以下 window.unload 方法适用于不同浏览器和某些 chrome 浏览器,但不适用于特定的 chrome 浏览器。

$(window).unload(function () {  
    var tabSessionId = getUrlVars()["info"];    
    var ajurl = "/hello/help";
    $.ajax({
        type: "GET",data: { 'info': info},url: ajurl,async: false,error: function (xhr,status,error) {
            // alert('error');
        },success: function () {
            // alert('Data Saved:');
        }
    });
});

我读到这是一种不稳定的方法,所以尝试了 $(window).bind('beforeunload',function() 和 $(window).('beforeunload',function() ,但它仍然不起作用。请帮助我,因为我已经坚持了很长时间。

编辑 1 - 添加console.log后,观察到调用了unload方法但是到达了ajax调用的error方法。将 async 更新为 true 后,不会打印任何日志。我在评论警告的地方添加了日志。

编辑2: 使用fetch方法代替ajax调用-

  fetch("/hello/help?info=“ + encodeURIComponent(info))
  .then(res => res.json())
  .then(res => {
    console.log(“success”);
    console.log(res);
  })
  .catch(error => {
    console.log(“ in error method”);
    console.error(error);
  });

获取错误 - 获取失败

在 ajax 中收到错误 - VM307 GuidedHelp.js:300 错误 NetworkError:无法在“XMLHttpRequest”上执行“发送”:加载失败 页面关闭中的同步 XHR。有关详情,请参阅 https://www.chromestatus.com/feature/4664843055398912

谁能告诉我 fetch 方法代码是否正确或有什么错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。