2012-07-05 7 views
7

J'essaie de faire fonctionner history.js dans Internet Explorer car j'ai besoin de history.pushState() pour fonctionner. J'ai lu les instructions sur GitHub (https://github.com/browserstate/History.js/) et j'ai essayé de l'implémenter, mais je n'ai eu aucun succès. Voici ce que j'aiHistory.js ne fonctionne pas dans 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> 

Je ne sais pas ce que je fais mal, mais il est certainement ne fonctionne pas dans IE8 ou IE9. Cela fonctionne dans Firefox, mais c'est peut-être parce que Firefox supporte réellement history.pushstate pour commencer. Toute aide est appréciée

+1

Est-ce que ça fonctionne partout ailleurs, ou avez-vous seulement essayé IE? – Tyrsius

+0

Chaque version d'IE ou quelle (s) version (s) avez-vous essayé? –

+0

J'ai essayé IE8 et IE9, désolé de l'avoir laissé. Cela fonctionne dans Firefox mais c'est peut-être parce qu'il supporte history.pushstate par défaut? – Wilcoholic

Répondre

1

En deuxième <script> tag enlever le mot defer. Parce que, si vous mentionnez ce mot, ce qui signifie reporter à plus tard. (Si vous voulez enregistrer cela pour réduire le blocage du rendu de la page, ne le supprimez pas). Cela aussi IE est très strict, c'est pourquoi vous avez ce problème. Hope it helps

se réfèrent this

Questions connexes