我看过有关在单页应用程序上检测导航的stackoverflow帖子,并且有各种解决方案。其中之一是使用window.onhashchange
检测路径更改(基于哈希的路径)。
我的问题是这样的:
除了检测路径更改(基于哈希的路径)以外,window.onhashchange
是否还用于其他用途?
最佳答案
如何运作?window.onhashchange
函数用于处理hashchange
事件。从the MDN docs:
URL的片段标识符已更改(URL的以hashchange
符号开头和之后的部分)时,将触发#
事件。
因此window.onhashchange
函数用于检测片段标识符何时更改,仅此而已。
为什么/何时应该使用它?
您使用window.onhashchange
来检测片段标识符何时更改,因此“何时应该使用window.onhashchange
?”问题与“何时应使用片段标识符?”有关。片段标识符的主要用法是引用(链接)到页面的特定部分,或者Wikipedia放置它的方式:
在计算机超文本中,片段标识符是一串字符串,它表示从属于另一个主要资源的资源。主要资源由统一资源标识符(URI)标识,并且片段标识符指向从属资源。
井号#
引入的片段标识符是文档URL的可选最后部分。它通常用于标识该文档的一部分。 ...
它还用于促进单页应用程序中的导航以及其他各种原因(存储状态等)。您可以在Wikipedia上找到非常详尽的片段标识符用法列表。