gpt4 book ai didi

javascript - 更好的解决方案或替换window.unload

转载 作者:行者123 更新时间:2023-12-02 05:42:51 25 4
gpt4 key购买 nike

美好的一天,

我有java web应用程序,我会在登录后执行类似以下操作:

  1. 登录后,系统将显示登陆页面,在登陆页面中,会有一个选项卡菜单,并且选项卡菜单中有许多模块可以触发以导航到不同的页面。
  2. 我需要实现一些在用户尝试导航到其他页面时运行的逻辑,该逻辑将是一种检查某些内容并返回 boolean 的方法,如果 boolean 是true,那么它将引导用户到他从导航选项卡中单击的页面。如果 boolean 为 false,那么我希望系统将用户定向到特定页面。

首先,我想使用 $(window).unload() 然后对我的 java 代码执行 ajax 来执行此逻辑,但是,我发现 unload 方法已从最新的 jQuery 中删除。

之后我找到了 beforeunload jQuery 方法。我使用它并调用 ajax 到 java 代码。但是,我发现当调用 ajax 时,如果我的 boolean 为 false,它不会将我定向到特定页面,它仍然会将我定向到我单击的页面。

** 我的 jQquery 版本是 jQuery v1.12.4,我使用 Stripes 作为服务器代码**

有什么建议或更好的解决方案来执行此方法吗?

敬请指教。

最佳答案

我认为我找到了解决方案,但不确定是否是最佳实践。

当我离开登陆页面时,我使用 beforeunload jQuery 调用后端代码,如下所示。

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

然后使用ajax调用:

function myfun(){
// Write your business logic here
var updateViewGuideUrl = '<s:url beanclass="com.cs.c.ui.customer.action.LandingAction" event="loginCheck2"/>';

$.ajax({
url : updateViewGuideUrl,
success: function(data, textStatus) {
window.location.href = "http://stackoverflow.com";
}
});
}

关于javascript - 更好的解决方案或替换window.unload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56122500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com