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