2012-07-05 7 views
7

Ich versuche, history.js in Internet Explorer zu arbeiten, weil ich history.pushState() benötigt, um zu arbeiten. Ich habe die Anweisungen auf GitHub (https://github.com/browserstate/History.js/) gelesen und habe versucht, es zu implementieren, aber hatte keinen Erfolg. Hier ist, was ichHistory.js funktioniert nicht im 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> 

Nicht sicher, was ich falsch mache, aber es ist auf jeden Fall nicht in IE8 oder IE9 arbeiten. Es funktioniert in Firefox, aber das kann daran liegen, dass Firefox eigentlich history.pushstate unterstützt. Jede Hilfe wird geschätzt

+1

Ist es anderswo arbeiten, oder haben Sie versucht, nur IE? – Tyrsius

+0

Jede Version von IE oder welche Version (en) haben Sie ausprobiert? –

+0

Ich habe IE8 und IE9 versucht, Entschuldigung für das Verlassen. Es funktioniert in Firefox, aber das könnte daran liegen, dass es history.pushstate standardmäßig unterstützt? – Wilcoholic

Antwort

1

In zweiten <script> Etikett entfernen Sie das Wort defer.
weil, wenn Sie dieses Wort erwähnen, was bedeutet, verschieben. (Wenn Sie das speichern möchten, um das Blockieren des Seitenrenderings zu reduzieren, entfernen Sie es nicht). Das ist auch sehr streng, deshalb hast du dieses Problem. Hoffe, es

this beziehen hilft