首页 > 解决方案 > Llisten to user's selection onbeforeunload

问题描述

我读过其他帖子,说开发人员在即将离开页面或刷新时几乎无法控制浏览器消息,我明白了。我的问题是:有没有办法可以在警报弹出时听取用户选择的内容?

我的用例如下:我正在播放视频,如果用户想离开页面,我想:

  1. 暂停视频
  2. 等待用户选择是离开还是留在页面中
  3. 如果他们想留下,我想播放视频
  4. 如果他们决定离开,我想向我的 API 发送一些信息

任何人都可以帮忙吗?

作为记录,这就是我所拥有的,它肯定会弹出一条警告用户的消息,但我无法对用户的选择做出相应的反应(离开或留下)

window.addEventListener("beforeunload", function (e) {

try {
    if (currentAction !== 'new' && currentAction !== 'pause' && currentAction !== 'ended') {

        _dotnetMainLayoutObjRef.invokeMethodAsync('CloseVideoWhenExitSite')

        var confirmationMessage = "\o/";

        (e || window.event).returnValue = confirmationMessage;

        return confirmationMessage;
    }

} catch (e) {

    errorTrack(e.message, "video_actions.js", "beforeunload event in video");
}

});

标签: javascriptgoogle-chrome

解决方案


推荐阅读