如何去除vue项目中的#及其ie9兼容性


Posted in Javascript onJanuary 11, 2018

一、如何去除vue项目中访问地址的#

vue2中在路由配置中添加mode(vue-cli创建的项目在src/router/index.js)

export default new Router({
 mode: 'history',
 routes: [
  {
   path: '/',
   name: 'menu',
   component: menu,
   children: [
    {
     path: 'organization',
     component: organization,
     children: [
      {
       path: '',
       redirect: 'organizationSub'
      },
      {
       path: 'organizationSub',
       component: organizationSub
      }
     ]
    },
    {
     path: 'user',
     component: user
    },
    {
     path: 'role',
     component: role
    }
   ]
  }
 ]
})

二、vue路由原理

2.1  hash模式:vue-router默认的路由模式。

vue开发的单页面应用,html只有一个,切换时url的变化通过url的hash模式模拟完整的url。

2.2  history模式:vue2中配置 mode: 'history'。

利用history.pushState API完成url的跳转

HTML5 History 模式官网介绍:https://router.vuejs.org/zh-cn/essentials/history-mode.html

三、注意事项

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

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

vue-router官网中有介绍,也有后台配置样例:https://router.vuejs.org/zh-cn/essentials/history-mode.html

四、兼容性

经过测试,mode: 'history'在ie9下不生效,若vue项目需要兼容ie9,且后台对访问地址有严格校验,不建议使用此种模式。若是内容有错误或遗漏,欢迎大家批评指正~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript动态调整iframe高度的代码
Apr 10 Javascript
关于viewport,Ext.panel和Ext.form.panel的关系
May 07 Javascript
JavaScript获取XML数据附示例截图
Mar 05 Javascript
jquery使用hide方法隐藏指定id的元素
Mar 30 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
Jun 23 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
May 28 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
详解React 16 中的异常处理
Jul 28 Javascript
基于Bootstrap表单验证功能
Nov 17 Javascript
Vue 框架之动态绑定 css 样式实例分析
Nov 14 Javascript
react写一个select组件的实现代码
Apr 03 Javascript
详解vue-video-player使用心得(兼容m3u8)
Aug 23 Javascript
全新打包工具parcel零配置vue开发脚手架
Jan 11 #Javascript
详解VUE2.X过滤器的使用方法
Jan 11 #Javascript
Vuex提升学习篇
Jan 11 #Javascript
浅谈Node.js爬虫之网页请求模块
Jan 11 #Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
Jan 11 #Javascript
angular2中Http请求原理与用法详解
Jan 11 #Javascript
基于node下的http小爬虫的示例代码
Jan 11 #Javascript
You might like
1 Tube Radio
2021/03/02 无线电
一个简单的域名注册情况查询程序
2006/10/09 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
加速IE的Javascript document输出的方法
2010/12/02 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
微信小程序 ecshop地址三级联动实现实例代码
2017/02/28 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
利用ECharts.js画K线图的方法示例
2018/01/10 Javascript
node 使用 async 控制并发的方法
2018/05/07 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
2019/10/14 Javascript
通过Kettle自定义jar包供javascript使用
2020/01/29 Javascript
浅谈JavaScript中的“!!”作用
2020/08/03 Javascript
python机器学习之神经网络(三)
2017/12/20 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
2015/11/18 面试题
写好自荐信的技巧
2013/11/08 职场文书
环保倡议书400字
2014/05/15 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
春晚观后感
2015/06/11 职场文书
Golang map映射的用法
2022/04/22 Golang