คลิกที่ javascript เพื่อให้เบราว์เซอร์กลับไปยังหน้าก่อนหน้า?


252

มีฟังก์ชั่นที่ฉันสามารถแนบเป็นเหตุการณ์คลิกของปุ่มเพื่อให้เบราว์เซอร์กลับไปยังหน้าก่อนหน้าหรือไม่?

<input name="action" type="submit" value="Cancel"/>

7
window.history.back ()
John Strickler

คำตอบ:


446

เพิ่มสิ่งนี้ในองค์ประกอบการป้อนข้อมูลของคุณ

<input
    action="action"
    onclick="window.history.go(-1); return false;"
    type="submit"
    value="Cancel"
/>

52
สิ่งนี้ใช้ไม่ได้กับเบราว์เซอร์ทั้งหมดสำหรับฉันฉันต้องทำสิ่งต่อไป<input action="action" type="button" value="Back" onclick="window.history.go(-1); return false;" />นี้คำตอบนี้ค่อนข้างเก่าดังนั้นอาจเป็นปัญหาที่เกิดขึ้นกับเบราว์เซอร์เวอร์ชันที่ใหม่กว่า :)
ctrlplusb

4
สิ่งนี้แสดงหน้าก่อนหน้าจากแคชหรือโหลดหน้าก่อนหน้าจากเซิร์ฟเวอร์หรือไม่
Adrien

7
มีaction="action"ส่วนอะไร และมันก็เป็น html ที่ถูกต้อง?
บ้านจีโอเอ็นจิเนียริ่ง

@Adrien - javascript ของมันดังนั้นจึงทำงานในเบราว์เซอร์ เบราว์เซอร์ควรใช้หน้าแคชใหม่ (สมมติว่าการตั้งค่าเบราว์เซอร์และการตั้งค่าส่วนหัว http หน้าอนุญาตให้ทำได้)
ToolmakerSteve

โปรดทราบว่าไม่ควรใช้ inline JS ในการผลิตเพราะ: 1. รหัส JS ควรอยู่ใน.jsไฟล์เฉพาะและไฟล์ที่ย่อเล็กสุด2. Inline JS ควรปิดใช้งานผ่านนโยบายความปลอดภัยเนื้อหาเพื่อลดการฉีด XSS
Theophany

120
history.back()

หรือ

history.go(-1)

วางสิ่งนี้ไว้ที่ปุ่มonclickจับ ควรมีลักษณะเช่นนี้:

<input name="action" onclick="history.back()" type="submit" value="Cancel"/>

11
วางสิ่งนี้ไว้ที่ปุ่ม onClick handle
Vadim

7
คุณมีความชัดเจนมากขึ้นเช่นให้คำตอบในรหัส
WowThatsLoud

3
เบราว์เซอร์รองรับอะไรบ้าง?
Costa

98

สำหรับไปที่หน้าก่อนหน้า

วิธีแรก

<a href="javascript: history.go(-1)">Go Back</a>

วิธีที่สอง

<a href="##" onClick="history.go(-1); return false;">Go back</a> 

ถ้าเราต้องการถอยหลังมากกว่าหนึ่งขั้นก็ให้เพิ่ม

For going 2 steps back history.go(-2)
For going 3 steps back history.go(-3)
For going 4 steps back history.go(-4)
and so on.......

2
@JeromeJ มันเป็นลิงค์ที่ไม่ทำอะไรเลยถ้า JavaScript ไม่ได้เปิดใช้งาน / ทำงาน (ไม่ว่าจะด้วยเหตุผลใดก็ตาม) บนหน้า หาก JavaScript ใช้งานได้จะทำให้เบราว์เซอร์กลับมาหนึ่งหน้า
Jeromy French



12

สั้นที่สุด!

<button onclick="history.go(-1);">Go back</button>

http://jsfiddle.net/qXrbx/

ฉันชอบ.go(-number)วิธีนี้มากกว่านั้นสำหรับ 'backs' 1 อันหรือมากกว่ามีเพียง 1 วิธีในการใช้ / จำ / อัปเดต / ค้นหาเป็นต้น

นอกจากนี้การใช้แท็กสำหรับปุ่มย้อนกลับดูเหมือนจะเหมาะสมกว่าแท็กที่มีชื่อและประเภท ...



8

ง่าย หนึ่งบรรทัด

<button onclick="javascript:window.history.back();">Go Back</button>

เหมือนคำตอบของวิมและมาลิก แต่อยู่ในบรรทัดเดียว


ทำงานได้ดี แต่บ่อยครั้งหากผู้ใช้ตัดสินใจที่จะเปลี่ยนภาษาในหน้าเฉพาะด้วยปุ่มเช่นนี้ปุ่มย้อนกลับไปยังหน้าก่อนหน้าจะเปลี่ยนภาษากลับเป็นภาษาแทนที่จะเป็นหน้า ...
Marek Bernád

6

นี่เป็นสิ่งเดียวที่ใช้ได้กับเบราว์เซอร์ปัจจุบันทั้งหมด:

<script>
function goBack() {
    history.go(-1);
}
</script>
<button onclick="goBack()">Go Back</button>

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