Hash和history都是浏览器中用于前端路由的方式,但是它们之间有一些区别:

  1. URL格式不同:使用Hash路由时,URL中会出现一个#符号,例如:https://www.example.com/#/home;而使用History路由时,URL中不会出现#符号,例如:https://www.example.com/home。

  2. 兼容性不同:Hash路由在早期的浏览器中也能够兼容,而History路由需要HTML5的支持。

  3. 服务器处理不同:使用Hash路由时,由于#符号后面的内容不会发送到服务器,因此服务器只会返回同一个页面,而使用History路由时,浏览器会发送真正的URL给服务器,服务器会根据URL返回相应的页面。

  4. 代码实现不同:使用Hash路由时,页面跳转是通过监听window对象上的hashchange事件来实现的;而使用History路由时,页面跳转是通过history对象上的pushState和replaceState方法实现的。

综上所述,Hash和History都有自己的优缺点,在实际使用中需要根据具体情况选择合适的方式。

Hash和history的区别

原文地址: https://www.cveoy.top/t/topic/giF4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录