访问路径问题URL中带 /#/什么原理?

比如阿里云控制台部分的URL带/#/,这样做原理是什么,比较好奇?

阅读 14.6k
3 个回答

阿里云控制台没有研究过,上次接触还是一年前,当时感觉这控制台用户体验很渣。

这里只说一下#在url中的用法:

先上参考资料:http://blog.httpwatch.com/201...

之后给个结论:#是用来指导浏览器动作的,#后面的请求一般不会发送到服务器端,而是给浏览器使用的。

可以这么理解,?=后面的参数是专门给服务器端用的,#后面的参数是专门给浏览器用的。

一个比较简单的使用就是更改url中#后面的参数,会触发window.onhashchange事件,可以用来在浏览器中做一些事情而不必向服务器端做请求,也不用重载整个页面。

像vue-router就可以靠#后面的参数当路由用。

1、实现无刷新切换页面;
2、并且兼容不支持history api的旧浏览器;
3、当你利用这个带hash的URL刷新页面后,能够根据这个hash恢复到刷新前的状态。

更典型的一个例子就是网易云音乐的网页版,你会发现,播放音乐的时候,即使你切换页面,音乐的播放也不会被中断。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进