2009-09-22 30 views

Trả lời

23

Bạn không thể ghi đè hành vi nếu người dùng theo một liên kết đến trang của bạn, nhấp vào Quay lại sẽ đưa họ lại. Tuy nhiên, bạn có thể thực hiện các thao tác JavaScript trên trang của bạn thêm các mục nhập vào lịch sử như thể chúng là nhấp chuột vào các trang mới và kiểm soát những gì xảy ra với Quay lại và Chuyển tiếp trong ngữ cảnh của những lần nhấp đó.

Có các thư viện JavaScript để trợ giúp việc này, với Really Simple History là một ví dụ phổ biến.

12

có, bạn có thể. Sử dụng điều này JS:

(function(window, location) { 
    history.replaceState(null, document.title, location.pathname+"#!/stealingyourhistory"); 
    history.pushState(null, document.title, location.pathname); 

    window.addEventListener("popstate", function() { 
     if(location.hash === "#!/stealingyourhistory") { 
      history.replaceState(null, document.title, location.pathname); 
      setTimeout(function(){ 
       location.replace("http://www.programadoresweb.net/"); 
      },0); 
     } 
    }, false); 
}(window, location)); 

Đó sẽ chuyển hướng nút quay lại của mình vào location.replace bạn chỉ định

+1

Đoạn mã này thực sự đã giúp tôi. Vâng, với 50%. Có thể thực hiện tương tự với nút chuyển tiếp không? Và nếu có, có lẽ bạn có thể giúp tôi cùng với một số mã ví dụ? –

0

Tôi nghĩ rằng điều này sẽ làm các trick. bạn có thể viết mã tùy chỉnh của mình để thực thi trên nút quay lại trình duyệt, nhấp vào bên trong chức năng onpopstate. Tính năng này hoạt động trong HTML5.

window.onpopstate = function() { 
     alert("clicked back button"); 
    }; history.pushState({}, ''); 
Các vấn đề liên quan