ปิดใช้งานการแจ้งเตือน "ยืนยันการส่งฟอร์มใหม่" ใน Google Chrome


19

ฉันต้องการปิดการใช้งานป๊อปอัป "ยืนยันการส่งฟอร์มใหม่" บน Google Chrome เมื่อฉันรีเฟรช การสนทนาเก่า (มาก) นี้รับทราบปัญหา แต่ไม่มีการแก้ไข

มีใครบางคนที่นั่นด้วยความคิดที่ดีกว่านี้ไหม?


5
ดาวน์โหลดซอร์สโค้ดของ Chrome และแฮ็คเวอร์ชันของคุณเองพร้อมคุณสมบัติทั้งหมดที่คุณทำและไม่ต้องการ
Moab

เช่นเดียวกับ JSZ กล่าวในหัวข้อการสนทนาที่จัสตินเชื่อมโยงกับมันขึ้นอยู่กับเว็บไซต์เพื่อจัดการการเยี่ยมชมอีกครั้ง (เช่นการค้นหา) ไม่ใช่เบราว์เซอร์ที่จะเดาว่าอะไรคือสิ่งที่ไม่ถูกต้องหรือปลอดภัย
Synetech

จาก RFC 2616: "สิ่งนี้ช่วยให้ตัวแทนผู้ใช้แสดงวิธีอื่น ๆ เช่น POST, PUT และ DELETE ในวิธีพิเศษเพื่อให้ผู้ใช้ตระหนักถึงความจริงที่ว่ามีการร้องขอการกระทำที่ไม่ปลอดภัย"
hakre

@Moab ทำไมจริงจังจัง : p
delphirules

คำตอบ:


15

Chrome แนะนำ "คุณสมบัติ" นี้เพื่อหลีกเลี่ยงผู้ใช้ที่ทำซ้ำการกระทำ POST ในแบบฟอร์มโดยไม่ตั้งใจเช่นการซื้อบทความเดียวกันสองครั้ง

เห็นได้ชัดว่าสิ่งนี้ได้รับการแก้ไขเมื่อไม่นานมานี้โดยใช้-disable-prompt-on-repostพารามิเตอร์ในการเรียกใช้ Chrome แต่สิ่งนี้ก็แตกในเวอร์ชันที่ใหม่กว่า

ทั้งๆที่มีรายงานบั๊กของ Chrome ที่เกี่ยวข้องมากมายซึ่งยังคงเปิดให้บริการมานานหลายปี (!) บั๊กยังคงอยู่ที่นั่น เห็นได้ชัดว่าโมดูล Chrome ที่ทำย้อนหลัง / เขียนนั้นแย่มากจนแทบจะเป็นไปไม่ได้ที่จะแก้ไข และไม่มีใครกล้าเขียนใหม่ตั้งแต่ต้น

ดังนั้นหากคุณไม่สามารถแก้ไขหน้าที่มีการดำเนินการ POST แสดงว่าคุณไม่มีโชคและไม่มีวิธีแก้ปัญหา

หากคุณสามารถแก้ไขหน้าได้แสดงว่าคุณมีสองวิธี:

  1. ใช้ GET แทน POST
  2. ใช้วิธีการโพสต์ / เปลี่ยนเส้นทาง / รับด้วยรหัสตอบกลับHTTP 303

แน่นอนว่ามีวิธีแก้ปัญหาในการใช้เบราว์เซอร์อื่นที่ไม่ใช่ Chrome (แต่นั่นไม่ได้ตอบคำถาม)


ขอบคุณ คุณช่วยลิงค์ไปยังรายงานบั๊กเหล่านี้ได้ไหม?
Randomblue

1
เพียงใช้แบบสอบถาม google นี้ที่ให้มากกว่า 8,000 คำตอบ
harrymc

2
ในทางเทคนิคแล้ว Chrome ไม่ได้แนะนำคุณสมบัตินี้มันมีอยู่ในเว็บเบราว์เซอร์เกือบทุกปี ( อย่างน้อย 15 ปี)
Synetech

โอเปร่าโชคดีไม่มีข้อผิดพลาดนี้
cweiske
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.