This question already has answers here:
Calling JS functions on browser tab close
                            
                                (3个答案)
                            
                    
                2年前关闭。
        

    

在我的项目中,有很多网页,每个网页都有自己的网址,例如

localhost:8080/MyProject/login
localhost:8080/MyProject/logout
localhost:8080/MyProject/denied
localhost:8080/MyProject/home


当我的项目运行时显示为localhost:8080/MyProject/login。当在浏览器选项卡中显示此类URL时,我不需要任何方法调用。当选项卡或浏览器关闭要使用spring调用自定义方法时,谁能帮助我如何在选项卡或浏览器关闭时调用方法。

最佳答案

您必须将要调用的方法添加到控制器,并将URL正确映射到它。
要在服务器上调用此方法,还需要附加的JS。
您感兴趣的事物称为:onbeforeunload


https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload

您可以按照上面文档中的说明绑定操作,也可以使用jQuery来执行以下操作:

$(window).bind('beforeunload', function(eventObject) {
  ...
});



在此回调中,您需要向控制器发送请求,并在必要时阻止默认逻辑。您可以使用ajax(异步JavaScript和XML)。

10-06 04:32
查看更多