如何防止通过浏览器后退按钮返回时打开RadWindow?

问题描述 投票:0回答:1

在我们的.Net Framework应用程序中,母版页中有一个RadWindow,用于在登录后显示通知。如果 RadWindow 打开有任何新通知。当它关闭时,它将不会在该会话中再次显示。因此

DestroyOnClose
属性设置为
true
。但是,当转到另一个页面,然后通过单击浏览器后退按钮返回到上一页时,radwindow 会再次打开。如何预防?

我曾尝试在

DOMContentLoad
时隐藏它,但一开始它应该是可见的。还尝试隐藏在
popstate
事件中,但回来时不会触发。

javascript vb.net telerik .net-4.8 radwindow
1个回答
0
投票

解决方案1:您的

DestroyOnClose
值在每个页面上都会发生变化,您需要将该值临时保存在会话或任何您想要的状态管理上,然后在文档附加到窗口时检查它,这可能会帮助您[链接][ 3]

window.addEventListener('beforeunload', () => {
console.log('User clicked back button');
});

解决方案2:当片段标识符(URL中“#”后面的部分)发生变化或者URL本身发生变化时,会触发

hashchange
事件。虽然与后退按钮没有直接关系,但此事件对于跟踪导航期间可能发生的 URL 更改非常有用。

window.addEventListener('hashchange', event => {
console.log('Fragment identifier or URL changed');
});

希望该解决方案对您有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.