onunload是浏览器卸载后执行的事件
卸载
卸载是个什么意思呢?可以这么理解,比如关闭了浏览器、页面刷新、页面跳转、关闭当前标签页等操作,都可以叫做卸载
如何使用
实例如下
<!DOCTYPE HTML>
<html>
<body>
<script>
//
window.onunload = () => {
console.log('onunload')
let xhr = new XMLHttpRequest();
xhr.open('get', 'http://www.test.com/test.php', true) //注意这里得用true,不能用false,必须采用异步提交
xhr.send()
}
</script>
</body>
</html>
如上实例,当在浏览器打开以上页面的时候,js会监听浏览器的操作事件,当你关闭浏览器、刷新等卸载操作时,会往后端发送ajax请求,如下
image.png
注意
这里需要特别注意的一个地方,当你采用ajax请求的时候,必须采用异步进行提交,如果采用同步提交,会有问题,会导致请求发送失败。这种情况,在有的电脑中会出现,有的电脑不会出现,可能与某些电脑的内核版本或者浏览器版本有关,对于这种兼容问题,最好的就是使用异步提交,就没问题了。
网友评论