语法:
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);
})