[英]Hashchange not firing when user clicks on same link
我正在創建一個HTML和Javascript客戶端,以便在與REST API對話的瀏覽器中運行。 我正在使用RouteMap設置我的URL。 所以我一直保持這樣的約定
http://mysite.com/#/{ResourceName}/[edit|view|list]/[Id]/
我只設置了一條路由,並且在綁定到hashchange的函數中獲取了這些參數。 大多數事情都很好。 僅有兩個問題,我因此而陷入困境。
任何幫助將不勝感激。
對於#1,您可能希望將處理程序附加到鏈接單擊事件。 這樣,您可以知道是否單擊了鏈接。 使用onhashchange時,我總是在click事件上附加一些內容,以幫助polyfills進行onhashchange,因此至少我可以知道它何時失敗。
對於#2,我想指出的是,自動更改內容會影響用戶的歷史記錄。 您可以用無意義的哈希變化填充某人的歷史記錄。 我建議僅在用戶實際交互時更改歷史記錄。 簡而言之,HTML5確實提供了pushState
和popState
。 參考
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.