ทั้ง document.location.href และ document.location.replace สามารถเปลี่ยนจากหน้า A เป็นหน้า B ได้ แต่ความแตกต่างคือ:
หลังจากสลับกับ document.location.href แล้ว คุณสามารถกลับไปยังหน้าเดิมได้
หลังจากสลับด้วย document.location.replace แล้ว คุณจะไม่สามารถกลับไปยังหน้าเดิมผ่านทาง "ย้อนกลับ" ได้
เกี่ยวกับ document.location.href หรือวิธีการสลับแบบย้อนกลับอื่น ๆ ฉันยังพบรายละเอียดด้วย
ใช้ตัวอย่างเพื่ออธิบาย:
สมมติว่ามีสามหน้า A.htm B.htm C.htm
มีประโยคนี้ใน A.htm: document.location.href="/b.htm";
มีประโยคนี้อยู่ใน b.htm: document.location.href="/c.htm";
โปรดทราบว่าทั้งคู่เป็นสวิตช์แบบพลิกกลับได้
1: เมื่อเปลี่ยนจาก A เป็น B แล้วเป็น C จะมีการจองสามหน้าไว้ในหน่วยความจำจริง: A, B, C
2: เมื่อย้อนกลับไปที่ B หน้า C จะถูกล้างออกจากหน่วยความจำ!
3: ย้อนกลับไปอีกครั้ง เมื่อถึงหน้า A หน้า B ก็จะถูกล้างออกจากหน่วยความจำด้วย!
4: เมื่อก้าวไปข้างหน้าอีกครั้ง (ไม่ใช่โดยการสลับ แต่เป็นการเดินหน้า) ไปที่หน้า B
สิ่งที่เก็บไว้ในความทรงจำคือ A และ B
>>>เมื่อเอกสารถูกแทนที่ด้วย location.replace() เอกสารนั้นจะถูกลบออกจากออบเจ็กต์ประวัติปัจจุบัน