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

HTML/XHTML教程
CSS和HTML与前端技术层图示
关于超链接的一些问题
网页设计制作之改进超级链接效果
HTML 5 预览
HTML是WEB标准开发的中心基础
HTML5的结构和语义(3):语义性的块级元素
被遗忘掉的button标签
CSS标准:vertical-align属性
网页表格分割线去除方法
网页表格表框制作技巧
HTML教程:定义列表
HTML5: Web 标准最巨大的飞跃
ul列表标记设计网页多列布局
HTML其实就是学习几个重要标记的应用
链接A的语义、写法和最佳实践
HTML网页的段落排版和换行
HTML网页各种字体格式的细节修饰
网页HTML代码:滚动文字的制作
HTML代码实例:详细讲解超级链接
html标签:sub标记和sup标记

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 75 ::
收藏到网摘: 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>