2011-09-30 20:56:47 +0000 2011-09-30 20:56:47 +0000
20
20

Wyłączenie monitu "Potwierdź ponowne złożenie formularza" w Google Chrome

Chciałbym wyłączyć wyskakujące okienka “Potwierdź ponowne złożenie formularza” w Google Chrome podczas odświeżania. Ta (bardzo) stara dyskusja uznaje problem, ale nie podaje poprawki.

Czy jest ktoś, kto ma lepszy pomysł?

Odpowiedzi (1)

16
16
16
2012-01-03 20:16:29 +0000

Chrome wprowadził tę “funkcję”, aby uniknąć niezamierzonego powielania przez użytkowników akcji POST na formularzach, takich jak dwukrotny zakup tego samego artykułu.

Najwyraźniej zostało to naprawione jakiś czas temu poprzez użycie parametru -disable-prompt-on-repost na wywołaniu Chrome, ale zostało to również złamane w późniejszych wersjach.

Pomimo wielu powiązanych ze sobą zgłoszeń błędów Chrome, które pozostawały otwarte przez lata (!), błąd nadal tam jest. Najwyraźniej moduł Chrome, który robi w tył/do przodu jest napisany tak źle, że prawie niemożliwe jest jego naprawienie. I nikt nie ma odwagi przepisać go od nowa.

Jeśli więc nie możesz zmodyfikować strony zawierającej operację POST, to masz pecha i nie ma rozwiązania.

Jeśli możesz zmodyfikować stronę, to masz dwa rozwiązania :

  1. Użyj GET zamiast POST
  2. Użyj metody Post/Redirect/Get z kodem odpowiedzi HTTP 303

Istnieje oczywiście rozwiązanie polegające na użyciu innej przeglądarki niż Chrome (ale to nie odpowiada na pytanie).