2012-07-05 17 views
7

Próbuję pobrać plik history.js do pracy w programie Internet Explorer, ponieważ potrzebuję funkcji history.pushState() do pracy. Przeczytałem instrukcje na GitHub (https://github.com/browserstate/History.js/) i próbowałem go wdrożyć, ale nie odniosłem żadnego sukcesu. Oto co mamHistory.js nie działa w przeglądarce 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> 

Nie wiem co robię źle, ale na pewno nie działa w IE8 lub IE9. Działa w Firefoksie, ale może tak być, ponieważ Firefox faktycznie obsługuje historię.pushstate na początek. Każda pomoc jest doceniana.

+1

Czy to działa w innym miejscu, czy może tylko próbowała IE? – Tyrsius

+0

Każda wersja IE lub jakiej wersji próbowałaś? –

+0

Próbowałem IE8 i IE9, przepraszam za pozostawienie tego. Działa w Firefoksie, ale może tak być dlatego, że domyślnie obsługuje on history.pushstate? – Wilcoholic

Odpowiedz

1

W drugim znaczniku <script> usuń słowo defer.
ponieważ, jeśli wspomnisz to słowo, co oznacza odłożyć. (Jeśli chcesz go zapisać, aby zmniejszyć blokowanie renderowania strony, nie usuwaj go). To również IE jest bardzo surowe, dlatego masz ten problem. Nadzieję, że pomoże

odnoszą this

Powiązane problemy