0

我有一个应用程序跨越了申请人的几页参与度,我不希望用户过早地放弃。

在不劫持后退和前进按钮的情况下(我认为这个论坛的大多数人都会同意这是一种不好的做法),我有一组事件处理程序可以利用onbeforeunload这些事件处理程序来处理系统可能认为卸载文档等于用户放弃应用,即页面刷新(F5,Ctrl/Meta+R)。

但是,让我难以理解的是如何允许在应用程序的上下文中移动,例如 pg 1 > submit > pg。2 > opps,后退按钮 > pg。1. 或者可能会在物理上修改 URL但应用程序仍在“范围内”。

使用后退按钮返回 pg 会发生什么。1(或转发到第 2 页)onbeforeunload触发(这是预期的),因此看起来申请人可能正在放弃申请。

我正在寻找并且正在逃避的是检查目标文档/域的能力。我宁愿只在下一页不在我的应用程序域中时才触发“请不要离开”对话框,从而使用户体验不会太难看。

建议?

4

1 回答 1

0

与其使用单独的页面,您可以在同一页面上使用多个 div 吗?如果您使用的是 ASP.NET,您还可以使用用户控件在代码隐藏端更好地隔离代码。我仍然会将 div 保留为用户控件中最顶层的标签。

每个 div 将对应于您当前封装在网页中的内容。根据用户按下后退或前进按钮,您可以在适当的 div 上启用可见性。

HTH...

于 2010-07-28T19:05:22.033 回答