面試題系列--【hash和history的區別】


hsah和history的區別:

區別一:

生產環境下:兩者無區別
開發環境或者測試環境下:

hash:前進和后退正常,刷新頁面正常

history:前進和后退正常,刷新頁面會報錯,報錯可能有兩種結果:一種是404報錯,一種是直接把沒有處理的數據展示到頁面

history報錯的原因:刷新頁面,就走后端路由,如果后邊沒有該路由,就是404,如果有該路由,會直接數據展示

區別二:原理不同

hash采用的是window.onhashchange=()=>{}來實現的

history采用的是HTML5新增的interface里面的pushState()和replaceState(),不兼容ie6~8

建議:工作中用hash,如果要用history,需要與后端人員配合,有沖突的路由優先前端


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM