最近在寫公司HR微信公眾號,其中某個模組需要A.html傳遞一個引數Data給B.html,然後B.html通過引數Data傳送Ajax。整理一下搜尋到方法;
方法一:通過location給頁面傳遞資料;附上程式碼。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>頁面A</title>
</head>
<body>
<div style="width:100px;height:100px;background: #f00;" onclick="dd(`xyd`)"></div>
</body>
<script>
function dd(elm){
var GOUrl="GO.html?cs="+elm;
location.href=GOUrl;
}
</script>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>頁面B</title>
</head>
<body>
<h1>一個有夢想的鹹鴨蛋</h1>
</body>
<script>
var locationUrl=location.href
var shuju=window.location.href.split("=")[1];
console.log(shuju);
</script>
</html>
方法二 正則 (原博主強烈推薦)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>一個有夢想的鹹鴨蛋</h1>
</body>
<script>
function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null){
return unescape(r[2])
}else{
return null
};
}
// console.log(GetQueryString("引數名稱1"));
// console.log(GetQueryString("引數名稱2"));
// console.log(GetQueryString("引數名稱3"));
//是否有引數
var myurl=GetQueryString("cs");
if(myurl !=null && myurl.toString().length>1)
{
console.log(GetQueryString("cs"));
}
</script>
</html>
通過web快取一樣可以達到這樣的效果,不確定這樣是否可以,就不附上程式碼了