1

当用户单击后退按钮时,如何防止浏览器打开从上一页显示的弹出窗口?

我希望这是有道理的,但我将在下面以点形式解释:

共有三个页面:Page1、Page2、Page3

  1. 用户加载 Page1 并单击链接以使用 JavaScript 在新窗口中加载 Page2(即 window.open(...))。用户可以随时关闭 Page2——但我们假设用户在第 2 步之前这样做了。

  2. 用户现在单击 Page1 上的链接以加载 Page3。

  3. 用户现在在 Page3 上并单击浏览器上的后退按钮。

  4. Page1 显示在浏览器中,但 Page2 再次显示在弹出窗口中。

所以,我想知道是否有办法防止 Page2 再次弹出。如果重要的话,我也在使用经典的 ASP。

4

3 回答 3

2

如果 Page2 是通过单击链接打开的,那么单击后退按钮时如何自动打开它?除非 Page2 在 Page1 的初始加载时自动打开,否则它不应该因为按下后退按钮而弹出 - 按“后退”不会单击前一页上的链接。我怀疑您的页面中发生了其他事情 - 我们可以看看一些代码吗?

于 2010-06-05T19:02:10.277 回答
1

您可以尝试在 page2 上创建会话变量。并在打开 page1 时检查它是否存在。或使用 cookie。

编辑:

Function IsPostBack()
    IsPostBack = (Request.ServerVariables("REQUEST_METHOD") = "POST")
End Function

虽然这不会检测到页面刷新..

于 2010-07-06T18:18:21.983 回答
1

该页面正在重定向到自身并插入 javascript 代码以根据先前按下的按钮弹出一个新窗口。我认为它通过 post 或 get 方法确定了这一点。我现在忘记了。

因此,当用户按下后退按钮时,他们将使用嵌入的 javascript 代码重新加载页面,而不是原始页面。

从那以后,我们已经放弃了经典的 ASP,所以我无法真正测试任何建议,但感谢您的帮助。

于 2010-12-13T17:01:07.033 回答