博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue-router在ie9及以下history模式支持
阅读量:5270 次
发布时间:2019-06-14

本文共 2021 字,大约阅读时间需要 6 分钟。

参考:

  https://www.npmjs.com/package/vue-route

  https://github.com/devote/HTML5-History-API

 

提要:

  ie9及以下不支持html5 history新特性

 

解决:

  • npm install html5-history-api
  • <!--[if lte IE 9]><script src=“path_to_history.js"></script><![endif]-->
    • issus
      • history.js - IE8+ and other browsers

        history.ielte7.js - IE6+ and other browsers          

      • 使用webpack时 
        1  1 var supportsPushState = inBrowser && (function () { 2  2   var ua = window.navigator.userAgent; 3  3  4  4   if ( 5  5     (ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && 6  6     ua.indexOf('Mobile Safari') !== -1 && 7  7     ua.indexOf('Chrome') === -1 && 8  8     ua.indexOf('Windows Phone') === -1 9  9   ) {10 10     return false11 11   }12 12 13 13   return window.history && 'pushState' in window.history14 14 })();

        这里supportsPushState在加载时已经被定义,就算在之后的 1 require('html5-history-api') 也是没有意义的,缓存虽然是王道可有时用不好真的是个坑。。。。

        1 var VueRouter = function VueRouter (options) { 2   if ( options === void 0 ) options = {}; 3  4   this.app = null; 5   this.apps = []; 6   this.options = options; 7   this.beforeHooks = []; 8   this.resolveHooks = []; 9   this.afterHooks = [];10   this.matcher = createMatcher(options.routes || [], this);11 12   var mode = options.mode || 'hash';13   this.fallback = mode === 'history' && !supportsPushState && options.fallback !== false; //这里直接使用了定义好的supportsPushState14 15   if (this.fallback) { //最终还是使用了hash模式16     mode = 'hash';17   }18   if (!inBrowser) {19     mode = 'abstract';20   }21   this.mode = mode;22   switch (mode) {23     case 'history':24       this.history = new HTML5History(this, options.base);25       break26     case 'hash':27       this.history = new HashHistory(this, options.base, this.fallback);28       break29     case 'abstract':30       this.history = new AbstractHistory(this, options.base);31       break32     default:33       {34         assert(false, ("invalid mode: " + mode));35       }36   }37 };  

#在设计缓存时一定要考虑到上下文的依赖,过时的缓存有啥用呢

end

  

转载于:https://www.cnblogs.com/maxilo/p/7784614.html

你可能感兴趣的文章
Linux pipe函数
查看>>
java equals 小记
查看>>
2019春 软件工程实践 助教总结
查看>>
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
程序的静态链接,动态链接和装载 (补充)
查看>>
关于本博客说明
查看>>
[Kaggle] Sentiment Analysis on Movie Reviews
查看>>
价值观
查看>>
mongodb命令----批量更改文档字段名
查看>>
国外常见互联网盈利创新模式
查看>>
android:scaleType属性
查看>>
mysql-5.7 innodb 的并行任务调度详解
查看>>
shell脚本
查看>>
Upload Image to .NET Core 2.1 API
查看>>
Js时间处理
查看>>
【雷电】源代码分析(二)-- 进入游戏攻击
查看>>
Linux中防火墙centos
查看>>
如何设置映射网络驱动器的具体步骤和方法
查看>>
centos下同时启动多个tomcat
查看>>
Leetcode Balanced Binary Tree
查看>>