IE11 window.history.pushState"对象不支持属性或方法' pushState'

时间:2015-04-11 14:35:18

标签: javascript html5 internet-explorer-11 history pushstate

我在下面有这个简单的HTML代码。它在Chrome和IE11中的开发环境(Visual Studio 2010)中按预期工作(将SomeParam附加到url)。当我把它放在网络服务器上的htm文件中时,它可以在Chrome中运行,但是在IE11中它给出了“对象不支持属性或方法'pushState'。我已经彻底搜索了这个并且只能发现pushState不是在IE版本中支持< = 9.0但在IE10和IE11中应该受支持 有没有人有任何想法?

<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>

1 个答案:

答案 0 :(得分:9)

尝试将以下元标记添加到您的网页中,如果您还没有这样做:

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

还要确保这是页面上的第一个元标记。

您是否在Intranet上运行此应用程序?如果是这样,IE11可能决定模拟旧版本的IE(使用F12开发者工具检查)。上面的元标记应该阻止IE执行此操作并强制它以IE11模式呈现页面。

相关问题