当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > 静态页面的值传递(三部曲)

HTML/XHTML教程
用CSS来控制网页背景
CSS入门教程之CSS的语法
DHTML编写经得起考验的可移植代码
用好图像的作用区域标记—area
在主页中制作会移动的文字
RSS的在线订阅服务:从订阅中发现社交网络
RSS: 简单协议使得互联网可编程
互联网观察:解读RSS新闻聚合的未来
RSS订阅服务改变门户游戏规则
RSS 2.0 标准
评论:RSS的力量
关于RSS:共享内容简易方式
RSS名称丰富含义的由来
博阅RSS阅读器快速入门
周博通帮你打通网络经脉
增加网页曝光率的秘诀
RSS 开发教程
被遗忘的HTML元素
css新手上路
在DreamWeaver中应用CSS样式表技巧两则

HTML/XHTML教程 中的 静态页面的值传递(三部曲)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 62 ::
收藏到网摘: n/a

Window.open篇

这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm
子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象.

优点:取值方便.只要window.opener指向父窗口,就可以访问所有对象.
       不仅可以访问值,还可以访问父窗口的方法.值长度无限制.

缺点:两窗口要存在着关系.就是利用window.open打开的窗口.不能跨域.
      

Post.htm

<input type=text name=maintext>
<input type=button onclick="window.open('Read.htm')" value="Open">

Read.htm

<script language="javascript" >
//window.open打开的窗口.
//利用opener指向父窗口.

var parentText = window.opener.document.all.maintext.value;
alert(parentText);
</script>


利用Cookie.

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

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

Post.htm

<input type="text" name="txt1">
<input type="button" onclick="setCookie('baobao',document.all.txt1.value)" value="Post">
<script language="javascript" >
function setCookie(name,value)
{
/*
 *--------------- setCookie(name,value) -----------------
 * setCookie(name,value)
 * 功能:设置得变量name的值
 * 参数:name,字符串;value,字符串.
 * 实例:setCookie('username','baobao')
 *--------------- setCookie(name,value) -----------------
 */

    var Days = 30; //此 cookie 将被保存 30 天
    var exp  = new Date();
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    location.href = "Read.htm"; //接收页面.
}
</script>


Read.htm

<script language="javascript" >
function getCookie(name)
{
/*
 *--------------- getCookie(name) -----------------
 * getCookie(name)
 * 功能:取得变量name的值
 * 参数:name,字符串.
 * 实例:alert(getCookie("baobao"));
 *--------------- getCookie(name) -----------------
 */
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr !=null) return unescape(arr); return null;
}
alert(getCookie("baobao"));
</script>