为什么要使用单页面应用
前端技术的最初页面跳转一般是通过a标签进行,通过location.href的改变进入新页面。由于ajax技术的出现,前端可以利用ajax发送请求获取数据,并利用返回数据局部刷新页面。但是这种局部刷新无法被浏览器捕捉,也就说说url无法根据页面的修改而进行改变。这非常不利于用户体检,无法使用前进和后退按钮,也无法通过改变url实现页面刷新。
单页面应用
简称SPA,就是只有一个HTML页面的应用程序,通过JS来控制页面的显示和隐藏。这种模式的优点是速度快,没有页面跳转。
目前主流的解决方案有两中,一种是hash+ajax,另一种是history+ajax。
hash+ajax方案
通过history.hash改变url的hash值,然后通过hashchange的监听进行相应的js操作。
这种方案有弊端也有优势,首先他的兼容性比较好,适用于老版本的浏览器。但是hash在location中并不被座位一个真正的资源对待。代码如下:
<div></div>
网友评论