在我正在處理的房地產網站上,我在Property Details頁面上有一個Contact Us表單,用戶可以單擊Contact Us按鈕,該表單將加載模式對話框,加載聯繫我們表單的iframe,填寫一些細節併發送。Chrome在瀏覽器後按鈕上悄悄地重新提交表單iframe
一旦表單處理完畢,服務器端我必須從調用對話框關閉方法的服務器發出JavaScript代碼,然後將用戶重定向到一個感謝頁面(如果我在服務器上做了一個簡單的重定向,iframe會得到我不想要的感謝頁面)。
問題出在Chrome中,如果您點擊瀏覽器的後退按鈕,聯繫表單將悄然重新提交。
注意:IE和Firefox根本就沒有這個問題。
我發現下面的鏈接有用的,但沒有回答我的問題:
- https://productforums.google.com/forum/#!topic/chrome/J1KMARIIHW4
- https://code.google.com/p/chromium/issues/detail?id=263508(這一次似乎很接近,我看到的行爲 - 但它似乎是一個
- Chrome executing all JS again on browser back button
我們試圖VAR錯誤,就不斷復出,在過去幾年中)技術來解決隱藏字段中的Chrome問題,保證緩存關閉,在重定向到謝謝頁面之前銷燬iframe。沒有它保持重新提交表格,甚至沒有問,如果你想重新提交(而不是它應該重新提交)
如果是瀏覽器錯誤,則無法解決問題。我的建議是,使用單頁應用程序體系結構,即使是這個小部分,也沒有後退按鈕,或者至少沒有重新加載父文檔的按鈕。 – Alex
你正在控制Iframe,你有聯繫我們的形式?或者它是外部的? – SilentTremor
@SilentTremor這是我們的形式,所以我們有完全的控制權。爲什麼你在想什麼? – Jacques