Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IE11 window.history.pushState "Object doesn't support property or method 'pushState'

I have this simple html code below. It works as expected (appending ?SomeParam to the url) in my development environment (Visual Studio 2010) in both Chrome and IE11. When I put this in an htm file on the web server, it works in Chrome, but in IE11 it gives "Object doesn't support property or method 'pushState'. I've searched this thoroughly and can only find that pushState is not supported in IE versions <= 9.0 but should be supported in IE10 and IE11.
Does anyone have any ideas?

<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>
like image 216
toni Avatar asked Apr 11 '15 14:04

toni


1 Answers

Try adding the following meta tag to your page, if you haven't done so already:

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

Ensure also that this is the first meta tag on the page.

Are you running this application on an intranet? If so, IE11 may decide to emulate an older version of IE (check this using F12 Developer Tools). The above meta tag should stop IE from doing this and force it to render the page in IE11 mode.

like image 133
Luke Woodward Avatar answered Oct 10 '22 01:10

Luke Woodward