html在设计时,规定跳转地址后加"?"表示从此开始为跟随页面地址跳转的参数。
有时候,我们希望获得相应的跳转前页面里的内容,这时候我们就可以考虑将内容以参数形式放到地址中传过来,在这里建议将参数以变量形式传递。
代码案例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>direct1.html</title>
</head>
<body>
<div><a id="a1" href="direct2.html">点击此处</div>
<script>
var a1=document.getElementById("a1");
var person={
name:"Zhuxingyu",
age:18
};
a1.href=a1.href+"?"+person.name;
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>direct2.html</title>
</head>
<body>
<script>
var getInfo=window.location.search.slice(window.location.search.lastIndexOf("?")+1);
console.log(getInfo);
</script>
</body>
</html>
这样做有两点需要注意,第一,放在地址后的参数只能以字符串格式来传递,我尝试过传递对象,现对象被解析成object后字符串化了,不能识别;第二,多次返回direct1页面跳转会重复加入参数,你可以在direct2中通过正则来截取想要的那部分。