2012-07-05 40 views
7

Tôi đang cố gắng để có được history.js hoạt động trong Internet Explorer vì tôi cần history.pushState() để hoạt động. Tôi đã đọc qua các hướng dẫn trên GitHub (https://github.com/browserstate/History.js/) và đã cố gắng thực hiện nó, nhưng havent đã có bất kỳ thành công. Dưới đây là những gì tôi cóHistory.js không hoạt động trong Internet Explorer

<!DOCTYPE html> 
<html> 
<head> 
    <!-- jQuery --> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
    <!-- History.js --> 
    <script defer src="http://balupton.github.com/history.js/scripts/bundled/html4+html5/jquery.history.js"></script> 
    <script type="text/javascript"> 
     function addHistory(){ 

      // Prepare 
      var History = window.History; // Note: We are using a capital H instead of a lower h 

      // Change our States 
      History.pushState(null, null, "mylink.html"); 
     }  
    </script> 
</head> 
<body> 
    <a href="mylink.html">My Link</a> 
    <a href="otherlink.html">Other Link</a> 
    <button onclick="addHistory()" type="button">Add History</button> 
</body> 

Không chắc gì tôi đang làm sai, nhưng nó chắc chắn không phải làm việc trong IE8 hoặc IE9. Nó hoạt động trong Firefox, nhưng điều đó có thể là do Firefox thực sự hỗ trợ history.pushstate để bắt đầu. Bất kỳ trợ giúp nào được đánh giá cao

+1

Is it làm việc bất cứ nơi nào khác, hay bạn chỉ cố gắng IE? – Tyrsius

+0

Mọi phiên bản của IE hoặc bạn đã thử phiên bản nào? –

+0

Tôi đã thử IE8 và IE9, xin lỗi vì đã thoát khỏi điều đó. Nó hoạt động trong Firefox nhưng điều đó có thể là do nó hỗ trợ history.pushstate theo mặc định? – Wilcoholic

Trả lời

1

Trong thẻ thứ hai <script> xóa từ defer.
bởi vì, nếu bạn đề cập đến từ đó, có nghĩa là trì hoãn. (Nếu bạn muốn lưu từ đó để giảm chặn hiển thị trang, đừng xóa nó). Điều đó quá IE là rất nghiêm ngặt, đó là lý do tại sao bạn có vấn đề đó. Hy vọng nó giúp

tham khảo this

Các vấn đề liên quan