我正在构建一个 MVC3 应用程序,当用户离开页面时,我需要在几个页面上执行一些操作。
例如,如果用户在页面 X 上并单击任何其他我需要执行操作 A、B、C 的链接
到目前为止,我的实现使用过滤器并检测用户是否从页面 X 导航到任何其他页面。
这有效,除非用户在另一个选项卡中打开页面 X 上的链接。即页面 X 仍然打开,但用户已导航到另一个页面和操作 A、B、C 并执行。这不会发生,因为页面 X 仍然打开。
我想知道是否有办法在页面 X 上检测页面关闭,所以我只在页面关闭或卸载时执行操作?
我正在构建一个 MVC3 应用程序,当用户离开页面时,我需要在几个页面上执行一些操作。
例如,如果用户在页面 X 上并单击任何其他我需要执行操作 A、B、C 的链接
到目前为止,我的实现使用过滤器并检测用户是否从页面 X 导航到任何其他页面。
这有效,除非用户在另一个选项卡中打开页面 X 上的链接。即页面 X 仍然打开,但用户已导航到另一个页面和操作 A、B、C 并执行。这不会发生,因为页面 X 仍然打开。
我想知道是否有办法在页面 X 上检测页面关闭,所以我只在页面关闭或卸载时执行操作?
您可以使用 jQuery 的.unload功能与 ajax post 配对从前端完成此操作。
$(window).unload(function() {
//ajax post to controller action
$.ajax({
type: 'POST',
url: '/Controller/Action',
data : { param1 : "value1", param2: "value2" },
dataType: 'html',
success: //do what needs to be done here, alert?
});
});