令我驚訝,我無法找到任何有關此主題的信息,但是,搜索這樣的東西總是會產生很多類似但無關的東西......避免「撤消」歷史條目回扣表格
無論如何,一些注意事項以避免誤解: - 問題是關於HTML,HTTP,Javascript和瀏覽器行爲。我故意不談論服務器端技術,因爲我認爲製作該部分對我來說不會是一個問題。 - 我不是瞄準安全,也不想限制用戶的行爲。其實我想改進的UI。
假設我們有一個帶有POST-redirect-GET表單的HTML頁面。提交表單會導致服務器端驗證,然後是結果或驗證錯誤。現在假設需要幾次嘗試才能使所有值都有效。網址保持不變,儘管我嘗試過使用更改的網址。現在用戶查看結果,然後想要返回鏈接到表單的任何頁面。對於一個很好的用戶界面,這應該在後退按鈕上點擊2次,一次從結果頁面返回到表單,另一次返回到表單之前的頁面。但是,用戶必須點擊每次嘗試失敗才能輸入有效值。
我該如何避免這種情況?再次注意,我不想從用戶那裏「隱藏」任何東西,只是沒有實際的情況下無效的表單值是有用的。我發現一些「單頁面應用程序」由於沒有填充歷史記錄而受到相關問題的影響,但這實際上是相反的問題,而我的應用程序不是「單頁面」。
作爲一種避免歷史記錄的替代方案,我也很好地以某種方式側向解決問題,甚至圍繞它建立良好的用戶界面。但是現在,該按鈕表示「返回」(在導航的意義上),但是在表單上做了「撤消」(在改變值的意義上)。人們期望返回按鈕返回 - 他們已經有ctrl-z撤銷。
直截了當的解決方案 - 雖然我找不到那樣的東西 - 會是一個HTTP標頭,它說:「這是您之前請求的相同資源的更新版本,請注意它具有相同的URL,所以當後退按鈕時不會出現兩次「。
您是指瀏覽器後退按鈕還是頁面上的鏈接? –
瀏覽器後退按鈕。對於「後退」鏈接,我很明顯可以發送任何我想要的迴應。 –