当用户点击后退按钮时,如何阻止浏览器打开上一页显示的弹出窗口?
我希望这是有道理的,但我会在下面的表格中解释:
共有三页:Page1,Page2,Page3
用户加载Page1并单击链接以使用JavaScript(即window.open(...))在新窗口中加载Page2。用户可以随时关闭Page2--但我们会假设用户在第2步之前这样做。
用户现在点击第1页上的链接以加载Page3。
用户现在在第3页上,然后点击浏览器上的后退按钮。
Page1显示在浏览器中,但Page2再次显示在弹出窗口中。
所以,我想知道是否有办法阻止Page2再次弹出。如果重要的话,我也在使用经典的ASP。
答案 0 :(得分:2)
如果单击链接打开Page2,单击后退按钮时如何自动打开?除非在Page1的初始加载时自动打开Page2,否则由于按下后退按钮不会弹出Page2 - 按“后退”不会单击上一页上的链接。我怀疑你的页面还有其他内容 - 我们能看到一些代码吗?
答案 1 :(得分:1)
您可以尝试在第2页上创建会话变量。并在第1页打开时检查它是否存在。或使用cookie。
编辑:
Function IsPostBack()
IsPostBack = (Request.ServerVariables("REQUEST_METHOD") = "POST")
End Function
虽然这不会检测页面刷新..
答案 2 :(得分:1)
页面重定向到自身并插入javascript代码以根据之前按下的按钮弹出一个新窗口。我认为这是通过post或get方法确定的。我现在忘了。
因此,当用户按下后退按钮时,他们将使用嵌入的javascript代码重新加载页面,而不是原始页面。
我们已经抛弃了经典的ASP,所以我无法真正测试任何建议,但感谢您的帮助。