ฉันใช้ History API สำหรับเว็บแอปของฉันและมีปัญหาหนึ่งอย่าง ฉันเรียก Ajax เพื่ออัปเดตผลลัพธ์บางอย่างบนเพจและใช้history.pushState ()เพื่ออัปเดตแถบตำแหน่งของเบราว์เซอร์โดยไม่ต้องโหลดหน้าซ้ำ จากนั้นฉันใช้window.popstateเพื่อกู้คืนสถานะก่อนหน้าเมื่อคลิกปุ่มย้อนกลับ
ปัญหาเป็นที่ทราบกันดี - Chrome และ Firefox ปฏิบัติต่อเหตุการณ์ป๊อปสเตทแตกต่างกัน แม้ว่า Firefox จะไม่ทำงานในการโหลดครั้งแรก แต่ Chrome ก็ทำเช่นนั้น ฉันต้องการใช้รูปแบบ Firefox และไม่ทำให้เหตุการณ์เกิดขึ้นเมื่อโหลดเนื่องจากเพิ่งอัปเดตผลลัพธ์โดยให้ผลลัพธ์เดียวกันกับที่โหลด มีวิธีแก้ปัญหายกเว้นการใช้History.jsหรือไม่ เหตุผลที่ฉันไม่รู้สึกอยากใช้คือ - มันต้องการไลบรารี JS มากเกินไปด้วยตัวเองและเนื่องจากฉันต้องการให้ใช้งานใน CMS ที่มี JS มากเกินไปฉันจึงต้องการลด JS ที่ฉันใส่ลงไป .
ดังนั้นอยากทราบว่ามีวิธีที่จะทำให้ Chrome ไม่เปิด 'popstate' เมื่อโหลดได้หรือไม่หรืออาจมีบางคนพยายามใช้ History.js เนื่องจากไลบรารีทั้งหมดรวมเข้าด้วยกันเป็นไฟล์เดียว