export class Router {
ReplaceState(url, data) {
var query = this.Generate(data);
window.history.replaceState(url, "", query)
} /**
* 生成url
*/
Generate(data) {
var search = "?";
for (var temp in data) {
search += `${temp}=${data[temp]}&`;
}
search = search.substr(0, search.length - 1);
return search;
} /**
* 解析search
*/
UrlSearch(key) {
var search = window.location.search;
if (search) {
var searchObject = {};
var queries = search.replace(/^\?/, '').split('&');
for (var i = 0; i < queries.length; i++) {
var split = queries[i].split('=');
if (split[0] != "" && split[1] !== undefined) {
searchObject[split[0]] = decodeURIComponent(split[1]);
}
}
return searchObject[key];
} else {
return "";
}
} }

使用例子:

  添加:

    在window.location.href后加上a=1和b=2。

Router.prototype.ReplaceState(window.location.href, {a:1,b:2});

    修改之后将会变成xxxxxxxxxx?a=1&b=2。

  获取参数:

Router.prototype.UrlSearch("a");

最新文章

  1. 一起学 Java(三) 集合框架、数据结构、泛型
  2. List多对多的查询应用
  3. 在python中处理XML
  4. BITED数学建模七日谈之四:数学模型分类浅谈
  5. (R)?ex - A simple framework to simplify system administration and datacenter automation
  6. Rust入门篇 (1)
  7. Delphi TcxtreeList控件说明 转
  8. 用GOACCESS分析NGINX日志
  9. 用c++开发基于tcp协议的文件上传功能
  10. java单例模式(线程安全,效率高,双重推断)
  11. Sqlserver2008安装部署文档
  12. angular-bootstrap ui-date组件问题总结
  13. 机器学习理论提升方法AdaBoost算法第一卷
  14. 最短路径(Dijkstra算法)
  15. Java笔记Spring(九)
  16. Select2 4.0.5 API
  17. hanlp中文智能分词自动识别文字提取实例
  18. spark1.6内存管理
  19. 任务02——安装 Intellj IDEA,编写一个简易四则运算小程序,并将代码提交到 GitHub
  20. Java多线程超详细总结

热门文章

  1. Redis 四:存储类型之散列类型
  2. java keytool证书工具使用小结(转载)
  3. redis的跳跃表
  4. vc++实例
  5. /proc/vmstat 详解
  6. LCA 最近公共祖先 (笔记、模板)
  7. [转载]解决/usr/bin/ld: cannot find -lxxx
  8. Python全双工聊天
  9. c++之vector使用
  10. 关于mvc架构的浅谈