0

這是一個IE特定的問題,據我所知,我一直在IE9遇到它。IE9後退按鈕無法正常工作與錨div

如果你看到這個jsFiddle:http://jsfiddle.net/dvrcthewrld/uaP3v/17/ 你可能會發現它在框架中工作正常。也就是說:只有當模態可見時,單擊偏移量div或疊加div會導致history.back事件,導致模態消失。

<div id="dbw" name="dbw" class="dumbBoxWrap"> 
    <div class="dumbBoxOverlay" onclick="history.back()" > 
     &nbsp; 
    </div> 
    <div class="vertical-offset" onclick="history.back()" > 
     <div class="dumbBox" onclick="event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true) 
;"> 
    <p>Content goes here</p> 
     </div> 
    </div> 
</div> 

不過,如果你認爲它完全不是在一個框架: http://fiddle.jshell.net/uaP3v/18/show/ 那麼你會發現,IE9相應地更改網址,但如預期的模式並沒有消失。無論返回事件是由點擊div還是使用瀏覽器的後退按鈕觸發,都會發生這種情況。

這似乎是在IE9中的一個錯誤,我也假設早期版本。有沒有適當的方法來處理這個問題,而不需要大幅修改我的代碼?

回答

1

這是一個哈克的解決方案,但它似乎工作

window.onhashchange = function(){ 
    document.body.className = document.body.className + ""; 
} 

運行例如:jsFiddle

+0

是啊,這工作。簡單時我不介意哈克。此外,這不就是什麼編碼的全部是關於hacky產品的hacky解決方案嗎? 我將這個添加到我的頭上,在瀏覽器爲'ie IE9'的條件下加載。 謝謝。 – David 2013-02-15 15:33:00

相關問題