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中通過正則來截取想要的那部分。
