[英]Javascript- history.pushState() not working in IE
我使用History.js保存当前(历史记录可以在这里找到: https : //github.com/browserstate/History.js/blob/master/README.md )
现在它适用于除Internet Explorer之外的所有浏览器。 我使用IE9,我不知道它是否适用于IE10。 无论如何,我的URL看起来应该是这样的: http://rlb.local/?bereich = 3但在IE中看起来像这样: http://rlb.local/#http%3A//rlb.local?bereich = 3我不知道Internet Explorer如此奇怪地显示URL的原因是什么。
我将URL传递给pushState方法,如下所示:History.pushState(null,null,“?bereich = 3”);
编辑:这是使用它的功能:
function scrollingFunction(page, speedVar){
$.scrollTo( {top: 0 , left: getPosition(page)} , speedVar, { axis:'xy', easing: 'easeInOut'});
$('.mainNav').removeClass("active");
$('#navLink_'+page).addClass("active");
History.pushState(null,null,"?bereich="+page);
}
该功能用于在不同页面之间滚动。 变量“page”是当前页码,如“1”,“2”,“3”等。我尝试将第二个参数作为字符串,但这也不起作用。
不确定这是否是你想知道的:IE9根本不支持HTML5历史API。 因此,History.js使用URL的哈希部分来模拟它。
但是,如果你想知道为什么你的网址不是http://rlb.local/#?bereich = 3 - 不知道那里。 这应该自动工作,因为History.js尝试根据其网站使用尽可能短的URL。 也许它与你的“.local”域名有关。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.