如何去除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 相关文章推荐
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
Apr 14 Javascript
Jquery同辈元素选中/未选中效果的实例代码
Aug 01 Javascript
jQuery实现动画效果的简单实例
Jan 27 Javascript
简单js代码实现selece二级联动(推荐)
Feb 18 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
Aug 16 Javascript
浅谈jQuery中replace()方法
May 13 Javascript
jQuery实现调整表格单列顺序完整实例
Jun 20 Javascript
AngularJS入门教程之双向绑定详解
Aug 18 Javascript
bootstrap modal+gridview实现弹出框效果
Aug 15 Javascript
JS处理一些简单计算题
Feb 24 Javascript
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
May 10 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
PHP 日志缩略名的创建函数代码
2010/05/26 PHP
php IP转换整形(ip2long)的详解
2013/06/06 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
Google 静态地图API实现代码
2010/11/19 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
jquery插件hiAlert实现网页对话框美化
2015/05/03 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
在Django的视图(View)外使用Session的方法
2015/07/23 Python
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
Manuka Doctor美国官网:麦卢卡蜂蜜和蜂毒护肤
2016/12/25 全球购物
Java里面有没有全局变量?为什么?
2015/02/06 面试题
what is the difference between ext2 and ext3
2013/11/03 面试题
若干个Java基础面试题
2015/05/19 面试题
出纳岗位职责范本
2013/12/01 职场文书
新学期家长寄语
2014/01/19 职场文书
高三学生评语大全
2014/04/25 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
私人贷款担保书该怎么写呢?
2019/07/02 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python
Go结合Gin导出Mysql数据到Excel表格
2022/08/05 Golang