2015-04-11 5 views
5

У меня есть этот простой html-код ниже. Он работает как ожидается (добавление? SomeParam к URL-адресу) в моей среде разработки (Visual Studio 2010) как в Chrome, так и в IE 11. Когда я помещал это в htm-файл на веб-сервер, он работает в Chrome, но в IE11 он дает «Object не поддерживает свойство или метод pushState». Я искал это полностью и могу только найти, что pushState не поддерживается в версиях IE < = 9.0, но должен поддерживаться в IE10 и IE11.
У кого-нибудь есть идеи?IE11 window.history.pushState «Объект не поддерживает свойство или метод« 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' - это один объект DOM в IE. Попробуйте 'history.pushState'. – Deadooshka

ответ

9

Попробуйте добавить следующий мета-тег на странице, если вы еще не сделали этого:

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

Убедитесь также, что это первый мета-тег на странице.

Вы используете это приложение в интрасети? Если это так, IE11 может решить эмулировать более старую версию IE (проверьте это с помощью F12 Developer Tools). Вышеупомянутый метатег должен остановить IE от этого и заставить его отображать страницу в режиме IE11.

+0

Это сделало трюк !! Спасибо!!!! – toni