2012-03-24 122 views
0

我試圖做一個刷新頁面(並重置測驗)並跳轉到具有按鈕的錨點的函數。Javascript名稱跳轉錨點

這適用於Chrome和Firefox,但在IE中它只是刷新到第一個命名錨點。

我的代碼:

function resetQuiz(showConfirm) 
{ 
    if(showConfirm) 
    if(!confirm("Are you sure you want to reset your answers and start from the beginning?")) 
     return false; 
window.location.reload(); //this works for chrome and firefox 
window.location.hash="mercquiz"; //tried this for IE. doesnt work 

} 
+1

IE版本....? – Hamish 2012-03-24 00:06:22

+0

嘗試爲「if」塊放置花括號。我知道在ANSI C中可能是一個模糊的情況 – puk 2012-03-24 00:18:44

+0

IE版本是8.0 – Waiwhetu 2012-03-24 00:33:52

回答

2

你可能會重新加載頁面的哈希有機會更新之前。

試試這個:

var loc = window.location.toString(); 
window.location = loc.substring(0, loc.indexOf("#")) + "#mercquiz"; 
window.location.reload(); 
+1

這似乎不適用於任何瀏覽器。它只是將#mercquiz附加到網址(test.html#mercquiz#mercquiz)爲了澄清,我的測驗在test.html#mercquiz上,重置按鈕位於該主分區。 – Waiwhetu 2012-03-24 00:31:34

+0

奇怪...通常更改'window.location'屬性將強制重新加載。我會研究它。 – 2012-03-24 00:40:49

+0

@Waiwhetu好的,現在就試試吧。它更新散列,然後重新加載頁面。 – 2012-03-24 00:52:07