簡體   English   中英

使用瀏覽器的后退按鈕時刪除/禁用JavaScript

[英]Remove/Disable javascript when using browser's back button

我有一個頁面,該頁面包含兩個框架:一個是Flash應用程序,另一個是帶有用戶控件的aspx頁面,該控件包含一個帶有多個“添加到購物車”按鈕的網格。 當用戶單擊按鈕時,我想用購物車頁面重新加載整個窗口。

通過避免response.redirect並使用response.write插入一些重定向的JavaScript,我在這里找到了很好的解決方法。 問題在於,當用戶從購物車頁面點擊后退按鈕時,腳本將再次執行,從而有效地取消了后退按鈕。 (易用性)

所以我的問題是,有沒有辦法檢測用戶是否通過后退按鈕到達頁面並避免執行腳本?

更改您的JavaScript以替換當前網址,而不是僅對其進行設置

// Creates browser history
top.location = 'http://www.stackoverflow.com'

// Doesn't create browser history
top.location.replace( 'http://www.stackoverflow.com' );

當用戶單擊按鈕時,我想用購物車頁面重新加載整個窗口。

您應該使用Post-Redirect-Get模型。

通過使按鈕以target屬性為_top的形式提交按鈕,可以輕松地執行此操作而無需使用腳本。 請注意, target屬性將不會驗證為HTML4或XHTML。

如果您使用POST請求提交購物車(一個好主意),那么bobince提到的Post-Redirect-Get慣用法將進一步加強您的應用程序-如果用戶使用后退或前進按鈕可轉到您的購物車頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM