HTML5 History模式是什么


本文摘自PHP中文网,作者一个新手,侵删。

vue-router 默认 hash 模式 ―― 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。

如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。

1

2

3

4

const router = new VueRouter({

  mode: 'history',

  routes: [...]

})

当你使用 history 模式时,URL 就像正常的 url,例如 http://yoursite.com/user/id,也好看!

不过这种模式要玩好,还需要后台配置支持。因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问 http://oursite.com/user/id 就会返回 404,这就不好看了。

所以呢,你要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个index.html 页面,这个页面就是你 app 依赖的页面。

后端配置例子

1

2

3

4

<IfModule mod_rewrite.c>

  RewriteEngine On

  RewriteBase /  RewriteRule ^index\.html$ - [L]

  RewriteCond %{REQUEST_FILENAME} !-f  RewriteCond %{REQUEST_FILENAME} !-d  RewriteRule . /index.html [L]</IfModule>

nginx

阅读剩余部分

相关阅读 >>

h5的标签使用详解

html5互联网:地铁行业新模式

html5存储方式小结

html5 canvas基本绘图之绘制线条

html5中常用交互元素实现的代码实例

深入了解h5中History特性--pushstate、replacestate

浅析html5中使用data-*来自定义属性

用html5制作屏幕手势解锁功能

html5中怎么用js?

html5中messageevent以及sse的规范

更多相关阅读请进入《History》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...