簡體   English   中英

Javascript- history.pushState()在IE中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM