javascript - Javascript 在页面更改时保留 URL 参数
问题描述
我正在使用香草 Javascript,
我有两个页面,page01.html
这些page02.html
页面共享相同的导航系统。
我想将参数加载到 的 url 中page01
,单击page02
导航后,page02
将在其 URL 中加载参数。
例子:
- 我上线了
page01.html
- 我将参数加载到 URL 中,所以现在我有 page01.html/?param=X
- 我点击菜单项page02
- 我想加载 page02.html/?param=X
有没有办法在不使用 localStorage 和 sessionStorage 的情况下做到这一点?
解决方案
这是一个使用 vanilla JavaScript 的简单解决方案:
Page01.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div>Page 1</div>
<a href="page02.html">go to page 2</a>
<script>
var linkToPage2 = document.querySelector("a[href='page02.html']");
linkToPage2.addEventListener("click", function(e){
e.preventDefault();
if(location.search){
window.location.href = "page02.html" + location.search;
}
});
</script>
</body>
</html>
Page02.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div>Page 2</div>
<a href="page01.html">go to page 1</a>
<script>
var linkToPage1 = document.querySelector("a[href='page01.html']");
linkToPage1.addEventListener("click", function(e){
e.preventDefault();
if(location.search){
window.location.href = "page01.html" + location.search;
}
});
</script>
</body>
</html>
推荐阅读
- c++ - 在#define 宏中创建一个实例
- php - 在 centOS / Plesk 上安装 gRPC
- css - 从平面图像格式的设计中计算 line-height 和 margin-bottom
- firebase - 如何获取firebase中特定列的数据?
- c# - 如何在 WPF DataGridTextColumn 的工具提示中为悬停单元格显示多个 IDataErrorInfo 错误?
- azure-cosmosdb - Cosmos DB 延续令牌大小影响查询是否返回新文档
- django - 在 django 模型中设置局部变量
- python - 使用自动编码器对一小组数据进行数据缺失插补
- java - How to fix 'cannot find symbol variable MyWebViewClient'
- linux - copy and append files in ubuntu linux