欢迎来到福编程网,本站提供各种互联网专业知识!

静态页面的值传递(三部曲)

发布时间:2006-09-25 作者: 来源:转载
这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象.优点:取值方便.只要window.opener指向父窗口,就可以访问所有对象.不仅可以访问值,还可以访问父窗口的方法.值长度无限制.缺点:两窗
这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm
子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象.

优点:取值方便.只要window.opener指向父窗口,就可以访问所有对象.
不仅可以访问值,还可以访问父窗口的方法.值长度无限制.
缺点:两窗口要存在着关系.就是利用window.open打开的窗口.不能跨域.


Post.htm


Read.htm


//window.open打开的窗口.
//利用opener指向父窗口.
varparentText=window.opener.document.all.maintext.value;
alert(parentText);


利用Cookie.

Cookie是浏览器存储少量命名数据.
它与某个特定的网页或网站关联在一起.
Cookie用来给浏览器提供内存,
以便脚本和服务器程序可以在一个页面中使用另一个页面的输入数据.

优点:可以在同源内的任意网页内访问.生命期可以设置.
缺点:值长度有限制.

Post.htm




functionsetCookie(name,value)
{
/*
*---------------setCookie(name,value)-----------------
*setCookie(name,value)
*功能:设置得变量name的值
*参数:name,字符串;value,字符串.
*实例:setCookie('username','baobao')
*---------------setCookie(name,value)-----------------
*/
varDays=30;//此cookie将被保存30天
varexp=newDate();
exp.setTime(exp.getTime()+Days*24*60*60*1000);
document.cookie=name+"="+escape(value)+";expires="+exp.toGMTString();
location.href="Read.htm";//接收页面.
}


Read.htm


functiongetCookie(name)
{
/*
*---------------getCookie(name)-----------------
*getCookie(name)
*功能:取得变量name的值
*参数:name,字符串.
*实例:alert(getCookie("baobao"));
*---------------getCookie(name)-----------------
*/
vararr=document.cookie.match(newRegExp("(^|)"+name+"=([^;]*)(;|$)"));
if(arr!=null)returnunescape(arr[2]);returnnull;
}
alert(getCookie("baobao"));


URL篇

能过URL进行传值.把要传递的信息接在URL上.

优点:取值方便.可以跨域.
缺点:值长度有限制.

Post.htm





functionPost()
{
//单个值Read.htm?username=baobao;
//多全值Read.htm?username=baobao&sex=male;
url="Read.htm?username="+escape(document.all.username.value);
url+="&sex="+escape(document.all.sex.value);
location.href=url;
}


Read.htm


/*
*---------------Read.htm-----------------
*Request[key]
*功能:实现ASP的取得URL字符串,Request("AAA")
*参数:key,字符串.
*实例:alert(Request["AAA"])
*---------------Request.htm-----------------
*/
varurl=location.search;
varRequest=newObject();
if(url.indexOf("?")!=-1)
{
varstr=url.substr(1)//去掉?号
strs=str.split("&");
for(vari=0;i{
Request[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
alert(Request["username"])
alert(Request["sex"])

相关推荐