检测非编程url哈希更改

时间:2016-08-06 05:18:23

标签: javascript browser-history

我使用window.onhashchange来检测浏览器哈希更改。但是,如果以非编程方式更改散列,是否只有一种方法可以触发回调?

我不是在问如何使用onhashchange。我试图避免在以编程方式设置哈希时触发它。

基本上,我想做类似的事情:

window.onhashchange = () => { /* ... */ };

但如果代码执行以下操作,我不希望触发回调:

window.location.hash = 'hello-world';    

谢谢!

1 个答案:

答案 0 :(得分:1)

我最终通过简单地设置一个标志来解决它,这似乎是一个黑客,但鉴于JavaScript执行环境是单线程的,应该可以正常工作。