2010-06-02 33 views
0

當用戶單擊後退按鈕時,我將如何防止瀏覽器打開上一頁顯示的彈出窗口?防止瀏覽器的後退按鈕在前一頁重新打開彈出窗口

我希望是有道理的,但我會在下面逐點解釋:

有三頁:第一頁,第二頁,第三頁

  1. 用戶負載第1頁和點擊一個鏈接來加載在使用JavaScript的新窗口(即window.open(...))中創建頁面2。用戶可以隨時關閉Page2 - 但我們假設用戶在步驟2之前這樣做。

  2. 用戶現在單擊Page1上的鏈接以加載Page3。

  3. 用戶現在正在Page3上並單擊其瀏覽器上的後退按鈕。

  4. 頁面1顯示在瀏覽器中,但頁面2在彈出窗口中再次顯示。

所以,我想知道是否有辦法阻止Page2再次彈出。如果它很重要,我也使用經典的ASP。

回答

0

的網頁被重定向到自身和基於之前按下按鈕插入JavaScript代碼來彈出一個新窗口。我認爲它通過帖子或獲取方法確定了這一點。我現在忘了。

因此,當用戶按下後退按鈕時,他們將使用嵌入的JavaScript代碼重新加載頁面,而不是原始頁面。

我們已經離開了經典的ASP,所以我不能真正測試任何建議,但感謝幫助。

1

如果由於點擊鏈接而打開Page2,點擊後退按鈕後會如何自動打開?除非Page1在Page1的初始加載時自動打開,否則由於後退按鈕被按下而不會彈出 - 按「返回」不會點擊前一頁上的鏈接。我懷疑你網頁上還有其他內容正在發生 - 我們能否看到一些代碼?

+0

我們已經放棄了經典的ASP而轉向ASP.net(謝天謝地)。我相信發生的事情是用戶會按Page1上的提交按鈕,然後將其重定向到自己。根據按下的按鈕,頁面將確定何時將JavaScript插入頁面本身以在加載時彈出新窗口。我認爲。 – Michael 2010-12-13 16:29:44

0

您可以嘗試在page2上創建會話變量。並在打開page1時檢查它是否存在。或使用cookie。

編輯:

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

這不會發現一個頁面刷新,但..

相關問題