1. 程式人生 > >不同頁面間傳值的幾種方法

不同頁面間傳值的幾種方法

1、url傳值

function getUrlParam(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //構造一個含有目標引數的正則表示式物件
	var r = window.location.search.substr(1).match(reg); //匹配目標引數
	if(r != null)
		return decodeURIComponent(r[2]);
	return null; //返回引數值
}
如果url引數中文亂碼,可以在url中編碼一下引數,然後在使用此方法解碼。

2、cookie傳值
//設定cookie(30天過期)
function setCookie(name, value) {
	var Days = 30;
	var exp = new Date();
	exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
	document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}

//獲取cookie
function getCookie(name) {
	var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
	if(arr = document.cookie.match(reg))
		return unescape(arr[2]);
	else
		return null;
}
3、H5中的localStorage物件
//注意第二個引數必須為字串,如果是物件,通過JSON.stringify()改成字串
localStorage.setItem("name","zxp");
或者
localStorage.lastname = "zxp";

localStorage.getItem("name");
或者
localStorage.name;