js实现页面a向页面b传参的方法

本文为大家分享了js实现页面a向页面b传参的具体方法,供大家参考,具体内容如下

方法一:使用HTML5本地化存储(localStorage) 组件(本地最大能存储5M数据)localStorage是本地永久存储数据,是cookie的优化

方法二:使用cookie将数据存放在客户的浏览器 (最大存储2M数据)

方法三:使用url传参 (将要传递的数据保存为一个存储变量,然后传给url)方法如下;

a.html

var app = {};
app.list = '123'
app.test = '1';

window.location.href = "b.html?name="+app;

如何参数是对象的话要先转化字符JSON.stringify(app),在b页面获取的话再转换化为对象

b.html

接收url传递过来的参数

function GetRequest() {
  var url = location.search; //获取url中"?"符后的字串
  var theRequest = new Object();
  if (url.indexOf("?") != -1) {
   var str = url.substr(1);
   strs = str.split("&");
   for(var i = 0; i < strs.length; i ++) {
     theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
   }
  }
  return theRequest;
}
console.log(JSON.parse(GetRequest().name).list)

各个浏览器对URL的长度有限制:

1.     IE浏览器对URL的长度现限制为2048字节(自己测试最多为2047字节)。

2.     360极速浏览器对URL的长度限制为2118字节。

3.     Firefox(Browser)对URL的长度限制为65536字节。

4.     Safari(Browser)对URL的长度限制为80000字节。

5.     Opera(Browser)对URL的长度限制为190000字节。

6.     Google(chrome)对URL的长度限制为8182字节。

这里,我只测试过IE浏览器和360极速浏览器,其它浏览器来自于网上的资料。

另外提醒一下大家,URL中,一个汉字通过不同的编码方式大小也不一样。

以上就是js实现一个页面向另一个页面传参的方法,希望对大家学习JavaScript程序设计有所帮助。

(0)

相关推荐

  • 用js通过url传参把数据从一个页面传到另一个页面

    用js把数据从一个页面传到另一个页面的层里? 如果是传到新页面的话,你网站基于什么语言开发直接用get或者post获取,然后输出到这个层 通过url传参 如果是HTML页面的话JS传到新页面就window.location.href='a.html?id=100';然后a.html页面的JS就<div id="s"></div> <script> document.getElementById("s").innerHTML=win

  • js动态添加onclick事件可传参数与不传参数

    1)当方法没有参数时,赋值可以直接用onclick = 方法名 window.onload = function() { $('btnTest').onclick = test; } function test() { alert(val); } 2)当方法有参数时,用onclick = 方法名(参数)时就有错了,需要在方法名前面加function() window.onload = function() { $('btnTest').onclick= function() { test(1)

  • js中关于new Object时传参的一些细节分析

    1, 参数是一个对象,核心js对象(native ECMAScript object)或宿主对象(host object),那么将直接返回该对象. 其生成的对象构造器仍然是所传参数对象的构造器.这样造成的后果是虽然该对象是new Object,但其constructor不一定是Object. 复制代码 代码如下: function Person(){this.name='jack';} var w = new Object(window), d = new Object(document), p

  • js给onclick事件赋值,动态传参数实例解说

    我们先看看错误的例子 Html代码 复制代码 代码如下: <body> <input id="certid" type="text" value="123456" > <input id="btn" type="button" value="button" onclick=""> </body> Javascript代码

  • 给js文件传参数(详解)

    一.利用全局变量 这是最简单的一种方式,比如Google Adsense: 复制代码 代码如下: <script type="text/javascript"> google_ad_client ='pub-3741595817388494'; </script> <script type="text/javascript" src="http://pagead2. googlesyndication.com/pagead/s

  • js 页面传参数时 参数值含特殊字符的问题

    工作中遇到的小问题,一个页面中通过window.showModel("comm/morelanguage.jsp?str=zh_CN:爱#;zh_TW:愛;en:love;",,,,);弹出另一个页面并将参数传递到另一个页面,另一个页面接受得到src参数值时会出现问题,值不对,测试过是因为#特殊字符的问题,对于这些特殊字符我采取的办法是 传参数时,str=escape('str=zh_CN:爱#;zh_TW:愛;en:love;')处理 接受参数时,拿到str后str=unescape

  • url 编码 js url传参中文乱码解决方案

    1.配置文件web.config中 在节中加上整个网站的编码方式. <globalization fileEncoding="GB2312" requestEncoding="GB2312" responseEncoding="GB2312"/> 这样参数就以gb2312的中文编码方式传输了.而一般默认是utf-8. 2.在传参是先编码在传输,接受时先编码,在接收. string mm=Server.URLEncode(你); Res

  • JS 文件传参及处理技巧分析

    解决思路: 1.首先获取到当前JS文件的SRC属性,这里有一个小技巧:我们只需要获取当前页面最后一个script标记内容即可. 为什么??因为JS是顺序解析的,当前JS脚本解析时后面的js都还没有解析到,当然就认为自己就是最后一个script了.此外,这样获取还有一个好处:我们可以多次引用同一个文件且传入不同的参数,这样可以在js文件中根据参数不同做不同处理,很巧妙把!简直就是动态语言了. 代码如下: 复制代码 代码如下: var scripts=document.getElementsByTa

  • Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)

    复制代码 代码如下: var Store = Ext.create('Ext.data.Store', { pageSize: pageSize, model: 'Ext.data.Model名称', autoLoad: false, proxy: { type: 'ajax', url: '请求路径', getMethod: function(){ return 'POST'; },//亮点,设置请求方式,默认为GET reader: { type: 'json', root: 'Data',

  • js设置function参数默认值(适合没有传参情况)

    今天写一个div+css模拟js信息框的类库时遇到一个问题,我希望当我没有传递参数过去时自动使用"提示信息"作为窗口标题.我试着这样写 复制代码 代码如下: function MessageBox(title=""){ } 毫无疑问我运行失败了(要不然我也不会发这博文了) 最后经过一番百度,发现了这么个好东西 复制代码 代码如下: function test(a){ var b=arguments[0]?arguments[0]:50; return a+':'+b

随机推荐