2013-02-11 6 views
15

Mọi người đều biết điều đó nhưng tôi sẽ lặp lại vấn đề:webkit/Chrome history.back (-1) onclick vs href

<a href="#" onClick="history.go(-1)">Back</a> 

Sẽ không làm việc trong các trình duyệt dựa trên WebKit (Chrome, Safari, Mxthon vv)

Một cách tiếp cận (nên làm việc) sẽ không làm việc là:

<a href="#" onclick="javascript:window.history.back(-1);">Back</a> 

Bạn có thể làm điều này - công trình! (Nhưng đó là thể hiện JS trong url gợi ý)

<a href="javascript:window.history.back(-1);">Back</a> 

Để sử dụng JS trong sự kiện onclick bạn có thể làm điều này (các công trình, nhưng xem ý kiến ​​dưới đây):

<a onclick="javascript:window.history.back(-1);">Please try again</a> 

Thiếu href sẽ làm cho nó hoạt động, nhưng sau đó nó sẽ không xuất hiện như liên kết có thể nhấp, bạn có thể áp dụng css để làm cho nó trông giống như liên kết, áp dụng màu xanh, gạch chân và bàn tay con trỏ, nhưng ai muốn điều đó?

+3

1) điểm hỏi một câu hỏi và ngay lập tức đăng tải câu trả lời là gì? 2) 'onclick =" javascript: "' là vô nghĩa, bỏ qua 'javascript:' 3) 'history.back()' không chấp nhận bất kỳ tham số nào, nó chỉ là 'back()' tương đương với 'history.go (-1) '. – Christoph

+0

Vui lòng không thêm giải quyết vào tiêu đề. Nếu câu trả lời của bạn hoạt động, hãy chấp nhận nó. – ChrisF

+2

1) vấn đề là để Google tìm câu hỏi cho những người tìm kiếm câu trả lời, trả lời ngay là vì tôi dành chút thời gian để kiểm tra từng trường hợp và trình duyệt, vậy tại sao không? re: 3) đây là những gì tôi đã tìm thấy được đăng bởi những người khác, tôi không nói rằng họ là chính xác. Tôi vừa tạo ra một danh sách các cách tiếp cận và chỉ ra những gì tôi có thể nhìn thấy, và đưa ra câu trả lời có hiệu quả (đối với tôi) trong các trình duyệt được liệt kê. Nó luôn luôn dễ dàng để chỉ trích :) chăm sóc –

Trả lời

34

Cuối cùng giải pháp làm việc, kiểm tra trong IE, FF, Safari, Chrome, Opera, Maxthon:

<a href="#" onclick="window.history.back();return false;">Back</a> 

Đừng quên dấu chấm phẩy sau return false;

+5

Không có điểm bằng văn bản 'javascript: 'trong một xử lý sự kiện. – SLaks

+0

Rất tiếc, không làm việc với dữ liệu đã đăng –

+0

Thật ngạc nhiên khi có nhiều cách tiếp cận hoạt động khác nhau đối với những người và trình duyệt khác nhau. Nếu nó không hoạt động ngay bây giờ thì có lẽ phiên bản mới của các trình duyệt diễn giải khác nhau bây giờ ... –

2

Nó hoạt động ngay cả history.go (-1) cũng ...

Đối với Chrome, IE, Mozilla tôi đã thử nghiệm, hoạt động tốt. sử dụng mã dưới đây:

<a href="#" onclick="history.go(-1);return false;" style="text-decoration:underline;">Back</a> 
0

Đây là điều duy nhất hoạt động trên tất cả các trình duyệt hiện tại:

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