如何去除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 相关文章推荐
使用jQuery全局事件ajaxStart为特定请求实现提示效果的代码
Dec 30 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
Jun 27 Javascript
javascript实现根据身份证号读取相关信息
Dec 17 Javascript
jquery实现在光标位置插入内容的方法
Feb 05 Javascript
JavaScript分页功能的实现方法
Apr 25 Javascript
JavaScript数组合并的多种方法
May 22 Javascript
功能强大的Bootstrap使用手册(一)
Aug 02 Javascript
微信小程序商城项目之购物数量加减(3)
Apr 17 Javascript
js实现搜索栏效果
Nov 16 Javascript
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
jQuery实现模拟搜索引擎的智能提示功能简单示例
Jan 27 jQuery
详解如何在vue+element-ui的项目中封装dialog组件
Dec 11 Vue.js
全新打包工具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
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
2020/05/29 PHP
jQuery 图像裁剪插件Jcrop的简单使用
2009/05/22 Javascript
actionscript与javascript的区别
2011/05/25 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
jQuery封装placeholder效果实现方法,让低版本浏览器支持该效果
2017/07/08 jQuery
react-native fetch的具体使用方法
2017/11/01 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
Vue.js实现的购物车功能详解
2019/01/27 Javascript
原生JS实现留言板功能
2020/02/08 Javascript
Python的Django框架中的Context使用
2015/07/15 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
python+mysql实现个人论文管理系统
2019/10/25 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
纽约手袋品牌:KARA
2018/03/18 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
售后专员岗位职责
2013/12/08 职场文书
无故旷工检讨书
2014/01/26 职场文书
初三班主任寄语大全
2014/04/04 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
2015最新民情日记范文
2015/06/26 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
合作意向书怎么写
2019/06/24 职场文书
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android