我使用脚本选择菜单项并导航到页面上的选定位置:
$(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中运行?
答案 0 :(得分:1)
评论如下。 window.history.replaceState 不适用于IE 7,8,9检查兼容性图表。 http://caniuse.com/#search=replaceState
// window.history.replaceState('','',href);