2015-04-11 13 views
5

Ho questo semplice codice html di seguito. Funziona come previsto (aggiungendo SomeParam all'URL) nel mio ambiente di sviluppo (Visual Studio 2010) sia in Chrome che in IE11. Quando lo metto in un file htm sul server web, funziona in Chrome, ma in IE11 si dice "L'oggetto non supporta la proprietà o il metodo 'pushState'. Ho cercato questo a fondo e posso solo trovare che pushState non è supportato nelle versioni di IE < = 9.0 ma dovrebbe essere supportato in IE10 e IE11.
Qualcuno ha qualche idea?IE11 window.history.pushState "L'oggetto non supporta la proprietà o il metodo '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

'history' è un singolo oggetto DOM in IE. Prova 'history.pushState'. – Deadooshka

risposta

9

Prova ad aggiungere il seguente meta tag alla tua pagina, se non l'hai già fatto:

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

Assicurarsi anche che questa è la prima meta tag della pagina.

Si sta eseguendo questa applicazione su una intranet? In tal caso, IE11 potrebbe decidere di emulare una versione precedente di IE (controllare questo utilizzando gli Strumenti di sviluppo F12). Il meta tag di cui sopra dovrebbe impedire a IE di farlo e forzarlo a rendere la pagina in modalità IE11.

+0

Questo ha fatto il trucco !! Grazie!!!! – toni

Problemi correlati