2011-10-24 34 views
0

我用History.js保存當前不幹活(歷史記錄可以在這裏找到:https://github.com/browserstate/History.js/blob/master/README.mdJavascript成爲history.pushState()在IE

現在,它工作在除了IE的所有瀏覽器。我使用IE9,我不知道它是否適用於IE10。 無論如何,我的網址應該是這樣的: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」);

能有人給我請一個暗示?

感謝和問候,

enne

編輯:下面是一個使用此功能:

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」等。我用第二個參數作爲String來嘗試它,但這不起作用。

+0

PLS,你的代碼的職位相關的部分,否則就不能看有沒有可疑的在那裏去。 – bennedich

+0

是不是應該是一個字符串,第二個參數(我知道圖書館的文檔說,這可以爲空,但他們都非常欠缺,在某些地方不準確的和無益的大部分)?嘗試使用空字符串而不是null:'History.pushState(null,'','blah')' – davin

+0

@davin,這不是必需的。縱觀歷史資料來源,他們自己也是這樣使用它。 – bennedich

回答

2

不知道這是否是你想知道:IE9根本不支持HTML5歷史API。因此,History.js使用URL的哈希部分來模擬它。

然而,如果你想知道爲什麼你的網址是不是http://rlb.local/#?bereich=3 - 不知道那裏。這應該會自動工作,因爲History.js會根據其網站嘗試使用盡可能最短的網址。也許這與你的「.local」域有關。

+0

這就是答案。我是.local域名。但我想知道它是否有效,例如.com作爲域名。我會試一試。謝謝您的幫助 :) – enne87