`
啸笑天
  • 浏览: 3462119 次
  • 性别: 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>
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Web程序中网页间数据传递方法小结

    ### Web程序中网页间数据传递方法小结 在Web开发过程中,经常需要在不同的网页之间传递数据。这些数据可以是用户输入的信息、状态值或其他重要信息。本文将详细介绍几种常用的网页间数据传递方法,包括使用URL参数...

    静态页面间传值实例静态页面间传值实例

    在网页开发中,静态页面间传值是一种常见的需求,特别是在多页应用中,用户可能需要在不同的HTML页面之间传递信息,比如导航、购物车状态等。本实例将深入探讨如何在不依赖服务器端处理或者使用JavaScript框架的情况...

    静态页面的传值

    3. **Cookie**:虽然现在更多地用于服务器与浏览器之间的交互,但Cookie也可以用于在静态页面间传递小量数据。通过JavaScript的`document.cookie`属性设置和读取Cookie。不过,Cookie的大小和数量有限制,并且会被...

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

    在"android phoneGap 静态页面中简单的数据传递"这个主题中,我们将探讨如何在PhoneGap的Web视图中处理数据传递,这通常涉及到JavaScript对象、URL参数和本地存储等技术。 首先,PhoneGap应用中的静态页面本质上是...

    c# winform间传递参数的方法

    除了静态变量之外,还可以通过定义窗体的实例变量和属性来实现数据传递。这种方法更为灵活且不易出错。 ##### 3.1 实现步骤 1. **定义静态实例**:在`frmFather`窗体中定义一个静态实例变量: ```csharp public ...

    数据可视化驾驶舱静态页面(13套).rar

    这些静态页面可能包含多种图表类型,如折线图、柱状图、饼图、热力图以及地理地图等,每种图表都有其独特的应用场景和信息传递能力。 1. 折线图:常用于展示随时间变化的趋势,例如月度销售额或季度利润波动。 2. ...

    html静态页面调用php文件的方法

    在开发Web应用时,经常会有在HTML静态...通过上述方法,可以在HTML静态页面中实现对PHP文件的动态调用,并通过PHP处理后返回的数据动态更新页面内容。这种方法在Web应用程序开发中非常实用,能够大幅提高用户交互体验。

    自己写的静态页面大屏,留个备份自己用

    标题中的“自己写的静态页面大屏”指的是一个个人创建的、用于大屏幕展示的静态网页。这类网页通常不依赖服务器端动态数据,而是通过HTML、CSS和JavaScript等前端技术实现,便于快速部署和访问。这样的页面可能包含...

    c#vs2010 窗体间值传递

    总结来说,"c#vs2010 窗体间值传递"是一个涵盖多个技术点的主题,包括C#窗体间的通信方式、权限设计原则、软件架构设计、前端库jQuery的使用,以及测试策略。理解并熟练掌握这些知识点,对于提升C#应用程序的开发...

    asp.net_动态改为静态页面的3个方法

    本文将详细介绍在ASP.NET中将动态页面转换为静态页面的三种方法。 1. **URL重写技术** URL重写是一种常见的策略,它可以在不改变实际页面处理逻辑的情况下,使URL显示为静态形式。在ASP.NET中,可以使用`System....

    Android activity间的数据传递,选择头像

    当我们需要在不同的Activity之间传递数据时,比如用户选择头像的操作,就需要掌握Activity间的数据传递技术。本文将深入探讨如何在Android中实现这一功能。 首先,我们要知道在Android中,有多种方式可以在Activity...

    伪静态页面生成技术|静态页面|生成技术

    2. **用户体验**:静态页面加载速度通常比动态页面快,用户访问时无需等待服务器处理数据,提升网站的响应速度和用户的浏览体验。 3. **降低服务器负担**:静态页面减少了服务器的运算和数据库查询,降低了服务器...

    简易的后台管理系统HTML静态页面

    【简易的后台管理系统HTML静态页面】是一个用于模拟后台管理功能的简单网页项目,适用于初学者或快速原型设计。这个系统提供了基本的文章管理和图片管理功能,包括添加、删除、修改和查询等操作,可以帮助用户理解...

    Activity页面数据传递

    Activity页面数据传递是一个关键概念,尤其对于新手开发者来说,理解和掌握这一技能至关重要。在Android应用中,我们经常需要在不同的Activity之间传递数据,这可能是为了启动新Activity时设置参数,或者在用户完成...

    asp.net不同页面间数据传递的多种方法

    ASP.NET是一种广泛使用的Web开发框架,它提供了多种方式来实现在不同页面间的数据传递。以下是对标题和描述中提到的9种方法的详细说明: 1. **GET方式**:通过在URL后面添加查询字符串(QueryString)传递数据。...

    网页静态化例程 网站静态化学习的第一步

    创建Servlet或Controller,负责接收用户请求,查询数据库获取数据,然后将数据传递给Freemarker模板。在Freemarker模板中,使用${}语法来引用Java对象的属性,动态生成HTML内容。 第四步,实现静态化逻辑。在处理...

    客户管理系统静态页面

    总结来说,"客户管理系统静态页面"项目涉及前端开发的多个层面,包括但不限于页面结构设计、视觉呈现、用户交互以及与后端服务的通信。这个项目旨在通过静态页面提供一个高效、易用且视觉吸引人的客户管理界面,帮助...

    生成静态页面 freemarker模板

    在IT行业中,生成静态页面是一种常见的优化网站性能和提高用户体验的方法。它涉及到将动态内容转换为HTML文件,这些文件可以直接由Web服务器提供,无需每次都执行服务器端的脚本。在这个场景下,我们主要关注的是...

    静态页面html中跳转传值的JS处理技巧

    在静态页面HTML中实现页面跳转的同时传递参数,是一种常见的Web开发需求。本文将详细讲解如何利用JavaScript处理URL中的查询参数,以及如何在目标页面中接收这些参数。通过实例演示,我们会学习到如何使用JavaScript...

Global site tag (gtag.js) - Google Analytics