เมื่อทำงานในโครงการเว็บเราพบข้อกำหนด เมื่อหน้าไม่มีประวัติผู้บุกเบิก (นั่นคือหน้าตอนนี้ปรากฏขึ้นใหม่และเราไม่สามารถดำเนินการ goBack ได้นั่นคือ history.go (-1)) จากนั้นปิดหน้าโดยตรงเมื่อคลิกปุ่มส่งคืนมิฉะนั้นจะกลับไปที่หน้าก่อนหน้า
ปัญหาที่พบคือวิธีการตัดสินว่าประวัติศาสตร์สามารถถอยกลับได้หรือไม่ นี่เป็นปัญหามากเพราะไม่มีฟังก์ชั่นดังกล่าวที่สามารถรับได้โดยตรงและสามารถประมวลผลได้ผ่านทางประวัติศาสตร์ตัวแปรความยาวเท่านั้น อย่างไรก็ตามสำหรับ IE ค่าส่งคืนของความยาวนั้นแตกต่างจากที่ไม่ใช่ของที่ไม่ใช่ เช่น: history.length = 0, non ie คือ 1 ดังนั้นจึงมีการเขียนฟังก์ชั่นเพื่อใช้ฟังก์ชั่นที่จำเป็นก่อน แบ่งปันกับทุกคน
/** * กลับไปที่หน้าก่อนหน้า (หรือปิดหน้านี้) * <li> หากไม่มีประวัติในหน้าก่อนหน้าให้ปิดหน้าปัจจุบันโดยตรง </li> */ฟังก์ชั่น goBack () {ถ้า ((navigator.useragent.indexof ('msie')> = 0) && window.history.go (-1); } else {window.opener = null; window.close (); }} else {// non-ie เบราว์เซอร์ถ้า (navigator.useragent.indexof ('firefox')> = 0 || navigator.useragent.indexof ('opera')> = 0 || navigator.useragent.indexof ('safari')> = 0 | | navigator.useragent.indexof ('webkit')> = 0) {ถ้า (window.history.length> 1) {window.history.go (-1); } else {window.opener = null; window.close (); }} else {// browser unknown window.history.go (-1); -