ฉันสังเกตเห็นว่าบางเบราว์เซอร์ (โดยเฉพาะ Firefox และ Opera) มีความกระตือรือร้นอย่างมากในการใช้สำเนาไฟล์. cssและ. js ที่แคชไว้แม้ระหว่างช่วงเบราว์เซอร์ สิ่งนี้นำไปสู่ปัญหาเมื่อคุณอัปเดตหนึ่งในไฟล์เหล่านี้ แต่เบราว์เซอร์ของผู้ใช้ยังคงใช้แคชที่คัดลอก
คำถามคือ: วิธีที่ดีที่สุดในการบังคับให้เบราว์เซอร์ของผู้ใช้โหลดไฟล์ใหม่เมื่อมีการเปลี่ยนแปลงคืออะไร?
เป็นการดีที่โซลูชันจะไม่บังคับให้เบราว์เซอร์โหลดไฟล์ซ้ำทุกครั้งที่เข้าชมหน้าเว็บ ฉันจะโพสต์คำตอบของตัวเอง แต่ฉันอยากรู้ว่าใครมีวิธีแก้ปัญหาที่ดีกว่าและฉันจะให้คะแนนโหวตของคุณตัดสินใจ
อัปเดต:
หลังจากให้การสนทนาที่นี่ซักพักฉันพบว่าคำแนะนำของJohn Millikinและda5idมีประโยชน์ ปรากฎว่ามีคำสำหรับสิ่งนี้: การกำหนดเวอร์ชันอัตโนมัติ
ฉันโพสต์คำตอบใหม่ด้านล่างซึ่งเป็นการผสมผสานระหว่างโซลูชันดั้งเดิมและคำแนะนำของจอห์น
แนวคิดอื่นที่แนะนำโดยSCdFก็คือการผนวกสตริงข้อความค้นหาปลอมเข้ากับไฟล์ (รหัสไพ ธ อนบางตัวจะใช้การประทับเวลาโดยอัตโนมัติเนื่องจากสตริงการสืบค้นที่ปลอมเป็นการส่งโดยpi .) อย่างไรก็ตามมีการสนทนากันว่าเบราว์เซอร์จะแคชไฟล์ด้วยสตริงการสืบค้นหรือไม่ (โปรดจำไว้ว่าเราต้องการให้เบราว์เซอร์แคชไฟล์และใช้ในการเข้าชมในอนาคตเราต้องการให้เรียกไฟล์อีกครั้งเมื่อมีการเปลี่ยนแปลง)
เนื่องจากยังไม่ชัดเจนว่าเกิดอะไรขึ้นกับสตริงข้อความปลอมฉันจึงไม่ยอมรับคำตอบนั้น
iframe.contentWindow.location.reload(true)
รอจนกว่าจะโหลดแล้วโทร ดูวิธีการ (4) ของstackoverflow.com/a/22429796/999120 - เกี่ยวกับรูปภาพ แต่ใช้วิธีเดียวกัน
ExpiresActive On ExpiresDefault "modification"
กับแคชไฟล์: