美文网首页
页面间的传值

页面间的传值

作者: qhaobaba | 来源:发表于2017-06-23 23:56 被阅读0次

一:JavaScript静态页面值传递之URL篇
能过URL进行传值.把要传递的信息接在URL上.
Post.htm
代码如下:

<input type="text" name="username">
<input type="text" name="sex">
<input type="button" value="Post">
<script language="javascript" >
function Post()
{
//单个值 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;
}
</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]]=unescape(strs[ i].split("=")[1]);
    }
    }
    alert(Request["username"])
    alert(Request["sex"])
    </script><script language="JavaScript">

</script>
<script>
String.prototype.getQuery = function(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = this.substr(this.indexOf("?")+1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
var str ="www.jb51.net/index.htm?a=1&b=1&c=测试测试";
alert(str.getQuery("a"));
alert(str.getQuery("b"));
alert(str.getQuery("c"));
</script>

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

二:JavaScript静态页面值传递之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
    60601000);
    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[2]); return null;
    }
    alert(getCookie("baobao"));
    </script>

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

三:JavaScript静态页面值传递之Window.open篇
这两窗口之间存在着关系.父窗口parent.htm打开子窗口son.htm
子窗口可以通过window.opener指向父窗口.这样可以访问父窗口的对象.
Post.htm

代码如下:

<input type=text name=maintext>
<input type=button value="Open">
Read.htm
<script language="javascript" >
//window.open打开的窗口.
//利用opener指向父窗口.
var parentText = window.opener.document.all.maintext.value;
alert(parentText);
</script>

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

相关文章

  • vue通信、传值的多种方式

    组件之间传值方式 页面间之间传值方式

  • React Native 参数传递

    总结 props 传值 props传值很简单,通常用于 navigation 父子页面间传值 NativeEven...

  • 页面间的传值

    一:JavaScript静态页面值传递之URL篇能过URL进行传值.把要传递的信息接在URL上.Post.htm代...

  • vue + vuex 全家桶浏览器间数据共享方案

    方案思路: 页面内仍然使用vuex做组件间传值,页面之间使用localstorage传值,并且监听storage事...

  • 代理

    不同页面间传值是必不可少,传值的方式有很多(方法传值,属性传值,代理传值,单例传值) ,这里主要总结下属性传值和代...

  • Xamarin Android 页面间传值方法:

    Xamarin Android 页面间传值方法: 父页面: Intent intent = new Intent(...

  • iOS页面间传值详解(二)

    在iOS页面间传值详解(一)中,介绍了iOS界面间的正向传值以及逆向传值的两种方法,其实逆向传值还可以使用bloc...

  • iOS页面间逆传值

    页面间传值有两种: 正向传值(利用属性传值就可以了,很简单) 逆向传值(有3种常用的方法) 代理传值 block传...

  • Axure 页面间传值

    通过自定义全局变量,或者 OnLoadVariable 变量来实现页面间传值,示例:

  • Block页面间传值

    不废话,上代码 》》》 1、先说下实现的过程:A到B,B带值到A,A打印或者显示。 2、实现的思路:A调用B声明的...

网友评论

      本文标题:页面间的传值

      本文链接:https://www.haomeiwen.com/subject/lbgccxtx.html