`
啸笑天
  • 浏览: 3433700 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

静态页面间数据传递方法总结

 
阅读更多

静态压面间数据的传递方法很多,目前经搜索得到主要以下几种方法。但是静态页面间数据传递用处应该不会很多,在开发任务的前期由于需要做UI Mockup 给用户体验,简单的数据传递还是会用到。

 

注:

1.escape()及unescape()方法已过时,使用encodeURI() 和 decodeURI()对加入URL的参数进行编码;

 

 

Window.open篇

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

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

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

Post.html

 

<script>
function openWindow(){
 window.open("get.html");
}
</script>
<input type=text name="maintext">
<button onclick = "openWindow()">
    Post
</button>

 Get.html

 

<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" 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 + "="+ encodeURI (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 decodeURI(arr[2]); return null;
}
alert(getCookie("baobao"));
</script>

 URL篇

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

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

Post.htm

 

<input type="text" name="username">
<input type="text" name="sex">
<input type="button" value="Post" onclick = "Post()">
<script language="javascript" >
function Post()
{
//单个值 Read.htm?username=baobao;
//多全值 Read.htm?username=baobao&sex=male;
url = "Read.htm?username="+encodeURI(document.all.username.value);
url += "&sex=" + encodeURI(document.all.sex.value);
location.href=url;
}
</script>

Read.htm

 

<script language="javascript" >
/*
*--------------- Read.htm -----------------
* Request[key]
* 功能:实现ASP的取得URL字符串,Request("AAA")
* 参数:key,字符串.
* 实例:alert(Request["AAA"])
*--------------- Request.htm -----------------
*/
var url=location.search;
var Request = new Object();
if(url.indexOf("?")!=-1)
{
var str = url.substr(1) //去掉?号
strs = str.split("&");
for(var i=0;i<strs.length;i++)
{
Request[strs[i].split("=")[0]]=decodeURI(strs[i].split("=")[1]);
}
}
alert(Request["username"])
alert(Request["sex"])
</script>
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    c# winform间传递参数的方法

    C#中没有了像VB.Net中的全局变量,那么我们如何实现在不同的页面间传递参数呢? 下面举例说明如何实现这一功能. 1.新建一个项目. 2.在该工程中添加一个窗体Form1. 3.在该窗体中定义静态型字符串变量myTestStr1: ...

    android phoneGap 静态页面中简单的数据传递

    NULL 博文链接:https://royal2xiaose.iteye.com/blog/1569223

    Python爬虫示例代码,使用Selenium和BeautifulSoup处理静态网页.txt

    这个示例代码中,我们使用Selenium库创建一个浏览器驱动,...这个示例代码适用于处理静态网页,通过使用Selenium加载网页内容,然后使用BeautifulSoup进行解析和数据提取。你可以根据需要进行进一步的数据处理和操作。

    微信小程序获取json页面数据

    微信小程序获取json页面数据

    winform与内嵌echarts的数据交互,让数据动起来.rar

    之前下载了winform实现Echart统计图(基于webBrowser)有了echart在winform的应用。但发现他实际上是静态页面的,统计图未有数据交互功能。本例主要通过C#winform给echart赋值,实现数据动态交互。

    html+css+js web博客

    由于主页页面为静态页面,没有数据传递,不会保存,编写完会直接跳转到主页,所以该页面只是在期末考试加分项。 这是一个适合初学者和web期末课设的练习项目。没有太复杂的代码,全部是简单的html和css标签语言,...

    PHP与Web页面交互 -表单与PHP的关系.ppt

    二、提交表单信息 GET提交方法的本质是将数据通过URL地址的形式传递到下一个页面,此方法提交的表单不会明显地改变页面状态。GET方法是最简单的提交方法,主要用于静态HTML文档、图像或数据库查询结果的简单检索。 ...

    [原创]基于FLASH机制实现的不同域窗口相互调用js的插件-虫洞

    5)由于AS3之间的LocalConncetion还可以传递支持序列化的自定义对象,使用此插件传输的数据对象是多样化的,可传输除了DOM元素之外的任何JavaScript支持的数据类型,一次传输的数据总量最大可达40kb,相对于其它...

    计算机课程设计+Java/Windows Server XP-1+图书销售系统

    本系统在Windows Server XP-1操作系统环境下,用Java作为开发工具,实现的主要功能有:图书类别信息,图书信息,...在页面中能够正确显示出,在页面上传递的静态数据。动态数据list的传递,将数据库中的数据正确输出

    区分ASP.NET中get方法和post方法

    在网页设计中,无论是动态还是静态,get方法是默认的,它在URL地址长度是有限的,所以get请求方法能传送的数据也是有限的,一般get方法能传递256字节的数据,当get请求方法传递的数据长度不能满足需求时,就需要采用...

    网上购物系统论文

    本项目通过完成网上购物系统的编写,展开服务器应用对象、页面跳转方法、Servlet间传递参数方法等相关知识的介绍。 1.2 项目的主要内容 随着计算机的普及及网民数量的增加,网上购物已成为电子商务的一项基本...

    实验二JSP应用开发基础

    要求程序包含两个文件,主文件(actioninclude)加载次文件(redirection),并将随机产生的50~100之间的数据传递给它,并且在页面上显示两个信息:该数据和这个数据的平方根。进阶要求,把动态包含改为动态重定向,...

    java 面试题 总结

    静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面&lt;%@ include file="included.htm" %&gt; 23、什么时候用assert。 assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都...

    大车

    把静态页面转换成组件化模式 把组件渲染到页面上 2,实现标题和结算功能组件 标题组件实现动态渲染 从父组件把标题数据传递过来即父向子组件传值 把传递过来的数据渲染到页面上 结算功能组件 从父组件把商品列表列表...

    JSP技术知识点考查 jsp动态建站技术

    config对象允许将初始化数据传递给一个JSP页面 exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。 out对象代表提供输出流的访问 page对象代表JSP页面对应的Servlet类实例 pageContext对象是Jsp页面...

    C#开发经验技巧宝典

    0475 使用HyperLink服务器控件实现页面间传值 271 0476 如何使用Input(Reset)实现文本框清空功能 271 0477 如何取消DropDownLidt控件的激发验证 272 0478 使用FileUpload服务器控件实现文件上传 272 0479 ...

    全端电商,毕业设计,bootstrap

    静态页面 搜索表单 包含了搜索框和按钮 历史搜索 两种情况 没有历史记录的情况 显示没有搜索历史记录 有历史记录的情况 显示 历史记录 清空操作 历史列表 动态渲染 输入搜索关键字 点击搜索 跳转搜索列表页 (把...

    Web程序设计指导书.doc

    6 实验4用户界面交互及网页间的数据传递 7 一、实验目的 7 二、实验要求 7 实验5 使用Web服务器常用控件 9 一、实验目的 9 二、实验要求 9 三、实验步骤 9 实验6 状态管理对象的应用 13 一、实验目的 13 二、实验...

    asp.net乱码解决方法

    这个方法到也可以接受,不过对于该文中的问题还不是最好的方法,因为该功能块是可以动态添加到任何页面的,难道要去修改所有的页面?想想还是不太合适。 单个页面解决方案 添加 ; charset=gb2312"/&gt;  3、直接用...

    Mui+html+js+全端电商+毕业设计

    静态页面 左侧边栏 里面的信息内容是 一级分类 右侧内容 里面的信息比尔是 二级分类 /*初始左侧滚动*/ mui('.lt_cateLeft').scroll(); /*初始右侧滚动*/ mui('.lt_cateRight').scroll(); 渲染动态 左侧分类 需要...

Global site tag (gtag.js) - Google Analytics