[英]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.