js实现页面a向页面b传参的方法
方法一:使用HTML5本地化存储(localStorage) 组件(本地最大能存储5M数据)localStorage是本地永久存储数据,是cookie的优化
方法二:使用cookie将数据存放在客户的浏览器 (最大存储2M数据)
方法三:使用url传参 (将要传递的数据保存为一个存储变量,然后传给url)方法如下;
a.html
var app = {};
app.list = '123'
app.test = '1';
window.location.href = "b.html?name="+app;
如何参数是对象的话要先转化字符JSON.stringify(app),在b页面获取的话再转换化为对象
b.html
接收url传递过来的参数
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
console.log(JSON.parse(GetRequest().name).list)
各个浏览器对URL的长度有限制:
1. IE浏览器对URL的长度现限制为2048字节(自己测试最多为2047字节)。
2. 360极速浏览器对URL的长度限制为2118字节。
3. Firefox(Browser)对URL的长度限制为65536字节。
4. Safari(Browser)对URL的长度限制为80000字节。
5. Opera(Browser)对URL的长度限制为190000字节。
6. Google(chrome)对URL的长度限制为8182字节。
这里,我只测试过IE浏览器和360极速浏览器,其它浏览器来自于网上的资料。
另外提醒一下大家,URL中,一个汉字通过不同的编码方式大小也不一样。