簡體   English   中英

Chrome / Safari中的后退按鈕錯誤

[英]Back button bug in Chrome/Safari

我一直試圖找到Safari / Chrome中后退按鈕錯誤的解決方法(瀏覽器將虛假數據放在他們不屬於的字段中)。 我沒有運氣,似乎現在應該有一個很好的解決方案(我看到有關這個的帖子可以追溯到2009年,但沒有好的解決方案)。

在這個例子中: http//jsfiddle.net/eGutT/13/

你可以看到初始頁面加載時一切正常。 但是,在單擊鏈接,然后單擊瀏覽器上的后退按鈕后,值將傳播到錯誤的字段。 請使用Safari或Chrome進行測試。 它適用於Firefox。

這是一個非常嚴重的問題,尤其是在:

  1. 用戶點擊后退按鈕,發生此錯誤
  2. 用戶不會注意到虛假數據
  3. 用戶對表單進行了一些不相關的更改(在不同的未受影響的字段中)
  4. 用戶提交表單

現在,您將面臨偽造數據提交到數據庫的情況!

順便說一下,這個問題可能與jQuery有關,因為如果你在示例中取消注釋這一行:

updateRowNums();  // IF YOU COMMENT OUT THIS LINE...

沒有引入額外/偽造數據。

謝謝,蓋倫

你在談論0,1和2嗎? 因為您的函數updateRowNums會自動強制執行這些值。 如果要維護第一列,可以將updateRowNums更改為以下內容:

if (!$('#some_id').val()) { $('#some_id').val(x); }

(顯然它不是最有效的代碼,但如果沒有值,它會重置字段。)

但是,如果這不是您所說的,那么我無法重現您的問題。 我正在使用Chrome 9.0.597.83,它在所有正確的位置保存了所有正確的數據。

暫無
暫無

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

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