【发布时间】:2022-11-04 19:59:25
【问题描述】:
我正在尝试在选项卡或浏览器关闭后立即调用 API。为此,我正在使用'onBeforeUnload'事件。 目前,只要浏览器关闭,API 就不会一直被调用。它在 10 次中工作 2-3 次。 有没有一种方法可以确保每次都调用 API。
【问题讨论】:
-
为什么你认为你需要这个?
标签: angular browser onbeforeunload sendbeacon
我正在尝试在选项卡或浏览器关闭后立即调用 API。为此,我正在使用'onBeforeUnload'事件。 目前,只要浏览器关闭,API 就不会一直被调用。它在 10 次中工作 2-3 次。 有没有一种方法可以确保每次都调用 API。
【问题讨论】:
标签: angular browser onbeforeunload sendbeacon
有没有一种方法可以确保每次都调用 API。
不会。如果用户终止浏览器进程,或者机器电源被切断,或者他们在没有 Internet 连接时关闭浏览器怎么办?
如果必须,您可以执行
event.preventDefault(),然后从代码中关闭窗口,但您不应该也不应该这样做。
【讨论】:
您能否添加有关您的要求的更多详细信息,因为我不建议您使用这种方法。由于使用起来非常不安全,因此您无法确保它始终运行,因为涉及许多场景,例如进程终止、本地电脑断电、互联网断开等等。
如果您只想检测用户是否还活着或在您的应用程序上工作,您可以创建一种 Heartbeat 类型的 api,它会告诉系统用户处于活动状态,并且当服务器在定义的时间内没有收到心跳时,您可以将其视为关闭事件.
如果您可以发布您想要实现的目标,那么人们肯定会有所帮助。
【讨论】: