hash和history的區別 vue路由跳轉

2021-09-13 00:10:19 字數 533 閱讀 7104

一、hash

1.  原理:監聽onhashchange事件

2. 當url發生變化時,瀏覽器會記錄下來,因此前進後退按鈕都可以使用。需要注意的是hash模式下修改的是#後面的內容,使用url的hash來模擬乙個完整的url,所以當url改變時,頁面不會重新被載入

3. 特點: 能用來構建spa(單頁面引用),改變檢視的同事不會向後端傳送請求

4. 缺點:url比較醜,如果傳複雜的資料,會有體積的限制

5. 能相容到ie8

二、history

1. 原理:監聽onpopstate事件,pushstate新增一條新的歷史記錄,replacestate則會替換當前的歷史記錄

2. 使用history模式,需要後台的配置支援,因為應用是個單頁客戶端應用,如果後台沒有正確的配置,當使用者在瀏覽器直接訪問 就會返回404

3. 缺點: history模式中可以實現前進、後退以及跳轉,但是重新整理的時候是去請求伺服器的,如果伺服器中沒有相應的響應或者資源,就會出現404

4. 只能相容到ie10

ps:

hash和history路由的區別

在了解路由模式前,我們先看下 什麼是單頁面應用,vue router 的實現原理是怎樣的,這樣更容易理解路由。單頁面應用 spa 的核心之一是 更新檢視而不重新請求頁面。vue router 在實現單頁面路由時,提供了兩種方式 hash 模式和 history 模式 vue2是 根據 mode 引數...

vue 路由hash和history的區別

url中 符號本身及其後面的都是hash,http請求並不包括hash部分。vue原始碼中是通過window.location.hash改變路由,會在瀏覽器的訪問歷史中增加乙個記錄。監聽hash window.addeventlistener hashchange fun,false router....

hash模式和history模式

hash 模式url裡面永遠帶著 號,我們在開發當中 預設使用這個模式 history 模式沒有 號,是個正常的url 適合推廣宣傳 考慮url的規範那麼就需要使用 history模式,因為當然其功能也有區別 history模式還有乙個問題就是,做重新整理操作,會出現404錯誤 那麼就需要和後端人配...