2015-04-11 10 views
5

Ich habe diesen einfachen HTML-Code unten. Er funktioniert wie erwartet (an die URL angehängt? SomeParam) in meiner Entwicklungsumgebung (Visual Studio 2010) Sowohl in Chrome als auch in IE 11. Wenn ich dies in eine HTM-Datei auf dem Webserver einfüge, funktioniert es in Chrome, aber in IE11 gibt es "Objekt unterstützt die Eigenschaft oder Methode 'pushState' nicht. Ich habe das gründlich durchsucht und kann nur feststellen, dass pushState in den IE-Versionen < = 9.0 nicht unterstützt wird, aber in IE10 und IE11 unterstützt werden sollte.
Hat jemand irgendwelche Ideen?IE11 window.history.pushState "Objekt unterstützt keine Eigenschaft oder Methode 'pushState'

<script language="javascript" type="text/javascript"> 
    function test1() { 
     try { 
      window.history.pushState("abc", "", "/?SomeParam"); 
     } 
     catch (err) { 
      alert(err.message); 
     } 
    } 
</script> 
<button id="button1" onclick="test1()">Test</button> 
+0

'Geschichte' ist ein einzelnes DOM-Objekt in IE. Probiere 'history.pushState' aus. – Deadooshka

Antwort

9

Versuchen, den folgenden Meta-Tag auf Ihrer Seite, wenn Sie nicht bereits getan haben:

<meta http-equiv="x-ua-compatible" content="IE=edge"> 

Stellen Sie sicher auch, dass dies die erste Meta-Tag auf der Seite ist.

Führen Sie diese Anwendung in einem Intranet aus? Wenn dies der Fall ist, kann IE11 eine ältere Version von IE emulieren (überprüfen Sie dies mit den F12-Entwicklertools). Das obige Meta-Tag sollte IE davon abhalten, dies zu tun und es zwingen, die Seite im IE11-Modus zu rendern.

+0

Das hat den Trick gemacht !! Vielen Dank!!!! – toni