javascript - 当用户在 Angular 9 中关闭浏览器/选项卡时如何执行功能?
问题描述
我已经尝试过对此进行研究,但我正在努力寻找可行的解决方案。我需要来自两个不同服务的两种方法来在浏览器/选项卡关闭时执行。
我尝试过 fetch API,它对 chrome 非常有用,但无法在 IE 中使用。我尝试了如下的while循环:
@HostListener('window:beforeunload', ['$event'])
onBeforeUnload(): void {
var sessionEnded = false;
this.userSessionService.EndSession(this.userSessionId).then(res => sessionEnded = res);;
while (sessionEnded == false) {
console.log('session not ended');
}
}
这对 chrome 非常有用,但我无法关闭 IE 浏览器。
还有什么我错过的吗?
是否有可能打开一个新选项卡以执行功能然后在完成时关闭?
解决方案
@HostListener('window:beforeunload', ['$event'])
async onBeforeUnload(): void {
var sessionEnded = false;
await sessionEnded = this.userSessionService.EndSession(this.userSessionId);
while (sessionEnded == false) {
console.log('session not ended');
}
}
推荐阅读
- google-colaboratory - 关于“在 Google colab 文本单元格中插入图片”的更多问题
- linux - 如何根据 .txt 文件 unix 中现有列的值添加新列
- javascript - JavaScript 如何解析查询
- java - 无法在测试单元中调用 JpaRepository
- javascript - 如何让codemirror处理双引号和单引号
- gitlab - 根据 Gitlab 中的前端或后端更改构建和部署
- azure - 如何使用 SQLAlchemy 连接到 Azure 服务器中的 MySQL
- parsing - 有没有办法在解析后使用关联性和优先级表来修复带有运算符的表达式?
- python - 迭代不均匀列以找到现有值的最快方法
- javascript - 如何创建一个函数来获取 html 标题名称并将图像插入单独的网站