รีเฟรช JavaScript อย่างหนักของหน้าปัจจุบัน


176

ฉันจะบังคับให้เว็บเบราว์เซอร์ทำการรีเฟรชหน้าเว็บอย่างหนักผ่าน JavaScript ได้อย่างไร
การรีเฟรชอย่างหนักหมายถึงการรับสำเนาใหม่ของหน้าเว็บและรีเฟรชทรัพยากรภายนอกทั้งหมด (รูปภาพ, JavaScript, CSS และอื่น ๆ )

คำตอบ:


295

ลองใช้:

location.reload(true);

เมื่อเมธอดนี้ได้รับtrueค่าเป็นอาร์กิวเมนต์มันจะทำให้เพจโหลดซ้ำจากเซิร์ฟเวอร์เสมอ หากเป็นเท็จหรือไม่ได้ระบุเบราว์เซอร์อาจโหลดซ้ำหน้าเว็บจากแคช

ข้อมูลเพิ่มเติม:


19
ฉันค่อนข้างมั่นใจว่าจะไม่โหลดทรัพยากรภายนอกทั้งหมดอีกครั้ง คุณจะต้องอ่านผ่านทั้งหมดa, link, scriptและimgองค์ประกอบและผนวกสตริงแบบสอบถามสุ่มไปยังจุดสิ้นสุดของแต่ละอ้างอิงภายนอกหลังจากโหลดยาก หรือทำเช่นนั้นบนเซิร์ฟเวอร์
Doug Neiner

3
มันใช้งานได้ในปี 2010? ไม่แน่ใจว่าใช้งานได้ในปี 2018 (ใน Chrome) Chrome โหลดทุกอย่าง (ยกเว้น / Home / Index) จากแคช ดูเหมือนว่าจะทำงานใน firefox WTH หรือไม่
Maciej Szpakowski

1
@MaciejSzpakowski การใช้Cache.keys ()และCache.delete ()ได้ผลสำหรับฉัน ตัวอย่าง: jsfiddle
r.delic

3
มันไม่ทำงานสำหรับฉัน สิ่งนี้ไม่ได้ล้างข้อมูลที่ฉันล้างด้วย ctrl F5
ozimax06

2
ฉันคิดว่าฟังก์ชั่นนี้ถูกลบใน HTML5
Mygod

8
window.location.href = window.location.href

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