脚本在Internet Explorer中不起作用

时间:2013-11-01 12:20:08

标签: javascript css internet-explorer

我使用脚本选择菜单项并导航到页面上的选定位置:

$(function () {
    var topMenu = $('.nav'),
        menuItems = topMenu.find('a'),

        scrollItems = menuItems.map(function () {
            var item = $($(this).attr('href'));
            if (item.length) {
                return item;
            }
        }),

        hash = window.location.hash;

    menuItems.click(function (e) {
        e.preventDefault();
        var href = $(this).attr('href');
        offsetTop = href === "#" ? 0 : $(href).offset().top - 20;
        window.history.replaceState('', '', href);
        $('html, body').animate({
            scrollTop: offsetTop
        }, 300);
    });
});

它在Chrome,FF和Opera中运行良好,但在IE9,8,7中绝对无法正常工作。

如何让它在IE中运行?

这是我的代码http://jsfiddle.net/UB9f9/10/

1 个答案:

答案 0 :(得分:1)

评论如下。 window.history.replaceState 不适用于IE 7,8,9检查兼容性图表。 http://caniuse.com/#search=replaceState

// window.history.replaceState('','',href);