比如有需求是要让页面关闭时, 在数据库中记录用户的一些数据或log日志. 这时就需要在用户关闭页面时发起HTTP请求. 做法是对window.onunload设置事件监听函数, 在函数内发起AJAX请求. 不过有时候页面已经卸载了, 但请求还没有发出, 这时就失败了, 解决这一问题的思路有两种: 1. 在监听函数内做一些比较耗时的操作, 保证请求发出; 2. 使用Navigator.sendBeacon(). 方法一: 耗时法. function log() { let xhr = new XM