hsah和history的區別:
區別一:
生產環境下:兩者無區別
開發環境或者測試環境下:
hash:前進和后退正常,刷新頁面正常
history:前進和后退正常,刷新頁面會報錯,報錯可能有兩種結果:一種是404報錯,一種是直接把沒有處理的數據展示到頁面
history報錯的原因:刷新頁面,就走后端路由,如果后邊沒有該路由,就是404,如果有該路由,會直接數據展示
區別二:原理不同
hash采用的是window.onhashchange=()=>{}來實現的
history采用的是HTML5新增的interface里面的pushState()和replaceState(),不兼容ie6~8
建議:工作中用hash,如果要用history,需要與后端人員配合,有沖突的路由優先前端