不会触发Internet Explorer上的window hashchange事件

时间:2018-06-11 13:37:18

标签: javascript internet-explorer hashchange

我在javascript上有一个简单的函数,如果窗口位置基于url hashtag,那么在文档准备好后我正常执行我的函数,我也添加了一个hashchange事件,我调用相同的函数。

除了Internet Explorer之外,一切都按预期工作,如果用户在不更改哈希值的情况下按下输入地址栏(如果他更改了它的工作原理)则该功能未执行,任何想法如何捕获用户按下的事件使用相同的#标签输入相同的网址?

1 个答案:

答案 0 :(得分:0)

当用户在URL栏中按Enter键时,即使地址未被更改,也会加载页面。因此,在您的情况下,它只会刷新页面。

要捕获此事件,您可以使用function startTimer(val) { setInterval( function(){ document.getElementById("seconds").innerHTML=startTimer(++liveTimer%60); document.getElementById("minutes").innerHTML=startTimer(parseInt(liveTimer/60,10)); }, 1000); return val > 9 ? val : "0" + val; } javascript事件。此事件使您能够确定导航类型。使用onbeforeunload确定导航类型。这适用于IE,FF和Chrome。

event.currentTarget.performance.navigation.type

希望这对你有所帮助!!