วิธีที่ต้องการในการโหลดหน้าซ้ำด้วย JavaScript? [ปิด]


103

คุณต้องการรีโหลดหน้าปัจจุบันด้วยวิธีใด (โดยใช้ปุ่ม)

1 <input type="button" value="Reload" onClick="history.go(0)">
2 <input type="button" value="Reload" onClick="location.reload(true)">
3 <input type="button" value="Reload" onClick="window.location.reload(true)">
4 <input type="button" value="Reload" onClick="window.location.href=window.location.href">
5 <input type="button" value="Reload" onClick="document.location.reload(true)">
6 <input type="button" value="Reload" onClick="document.location.href=document.location.href">

เนื่องจาก URL ของหน้าเว็บมีการเปลี่ยนแปลงบ่อยครั้ง AFAIK จึงมี 'ฟังก์ชันทางเลือก' เช่น

<a href="urlOfCurrentPage.html" onclick="window.location.reload(true);return false;">Reload</a>

คงไม่เหมาะกับฉันใช่ไหม


โปรดทราบว่าหมายเลข 2 และ 3 เหมือนกัน
Matti Virkkunen

3
หมายเลข 4 และ 6 จะไม่โหลดซ้ำหากมี # อยู่ใน url
jontro

2
เบราว์เซอร์ทุกประเภทไม่ได้ใช้หมายเลข 2, 3 และ 5 ใช้*.location.reload()เป็นอาร์กิวเมนต์เพื่อระบุว่าควรละเว้นแคชหรือไม่ stackoverflow.com/questions/10876244/…
Dead.Rabit

OP พลาดวิธีที่ต้องการมากที่สุด: location.reload ();
Doug S

คำตอบ:


57

ขึ้นอยู่กับว่าคุณต้องการทำอะไร วิธีที่สี่และหกจะไม่โหลดข้อมูลแบบฟอร์มซ้ำโดยจะทำการเยี่ยมชมหน้าเว็บแยกต่างหาก Firefox บางเวอร์ชันยังมีปัญหากับวิธีที่สาม นอกเหนือจากนั้นฉันจะเลือกข้อที่ห้าเป็นความชอบส่วนตัว ดูเหมือนชัดเจนที่สุด


วิธีที่สอง (.reload) ใช้ไม่ได้ในบางกรณี
Aristos

ดังนั้น "document.location.reload (true)" จึงปลอดภัยข้ามเบราว์เซอร์และมีประสิทธิภาพมากที่สุด?
Mel

@ เมลฉันเชื่ออย่างนั้น จริงๆแล้วหน้าต่างและเอกสารควรใช้งานได้ทั้งคู่
tloflin

10
โปรดทราบว่าเมื่อคุณใช้ document.location.reload () บน POST เบราว์เซอร์จะถามคุณว่าคุณต้องการส่งข้อมูลซ้ำเพื่อโหลดหน้าซ้ำหรือไม่
wimh

Wimmel ใช่เพื่อแก้ไขโดยใช้รูปแบบ PRG: en.wikipedia.org/wiki/Post/Redirect/Get
Sarel Botha

30

คุณสามารถทำ:

wdแสดงถึงหน้าต่าง || เอกสาร :

  • wd.location.assign (wd.location.href) : ไปที่ URL
  • wd.location.replace (wd.location.href) : ไปที่ URL และแทนที่หน้าก่อนหน้าในประวัติ
  • wd.location.reload (<true / false / blank>) : รีโหลดเพจจากเซิร์ฟเวอร์ / แคช / แคช
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.