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中,一个汉字通过不同的编码方式大小也不一样。

时间: 2024-10-21 02:37:41

js实现页面a向页面b传参的方法的相关文章

多态 模拟 移动硬盘 插入电脑 读写,方法1传参,方法2属性赋值

//多态 模拟 移动硬盘 插入电脑 读写,方法1传参,方法2属性赋值 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //多态 模拟 移动硬盘 插入电脑

C++中二维数组传参的方法详解

C++中二维数组传参的方法详解 首先需要明确,C++中其实没有多维数组,所谓的多维数组,其实就是数组的数组: 另外,数组中元素的个数也是数组类型的一部分. 当一个数组的元素仍然是数组时,通常使用2个维度来定义它,一个数组表示数组本身的大小,另一个维度表示其元素大小(它的元素也是数组): int ia[3][4]; //大小为3的数组,每个元素是含有4个整数的数组 int (*p)[4] = ia;//p指向含有4个整数的数组(指向第一个内层数组) 1 将给定第二维长度的二维数组作为形参传递 #i

JS完成页面跳转并传参的方法|附加:循环遍历对象

此方法只能传递较少参数 方法如下: <a href='page/index.html'>跳转</a> 以上是正常写法,如果要传参按一下写法: <!--参数写在?后面,多个参数用&隔开,下面传的参数为name=lemon,age=18--> <a href='page/index.html?name=lemon&age=18'></a> 当跳转到页面的时候这个页面的地址栏就会跟你写的那个一样,这时候你只需要获取地址栏的内容并进行采取

java结合node.js非对称加密,实现密文登录传参——让前后端分离的项目更安全

前言   在参考互联网大厂的登录.订单.提现这类对安全性操作要求较高的场景操作时发现,传输的都是密文.而为了目前项目安全,我自己负责的项目也需要这方面的技术.由于,我当前的项目是使用了前后端分离技术,即node.js做前端,spring boot做后端.于是,我开始搜索有关node.js与java实现非对称加密的资料,然而,我却没有得到一个满意的答案.因此,我有了写本篇博客的想法,并希望给用到这类技术的朋友提供帮助. 一.明文密码传输对比 首先. 构建spring boot 2.0项目 引入we

ios向js传参的方法

在  - (void)webViewDidFinishLoad:(UIWebView *)webView  ; 事件中 [self.webView stringByEvaluatingJavaScriptFromString: @"useLocalPaths()"];    调用html页面的js方法

a链接传参的方法

//获取分案编号 var hrefVal=window.location.href.split("?")[1]; //得到id=楼主 //console.log(hrefVal+"后一个"+hrefVal[3]); var theRequest = new Object(); var strs = hrefVal.split( "&" ); //那么我们在新页面接收参数, 并且将参数转为可用的json格式时, 可以用下面的方法: for

vue 计算属性传参的方法

计算属性传递参数 html代码: <p>{{ getNewIndex(data) }}</p> js: computed: { getNewIndex() { // data是使用的时候的参数 retun (data) => { return data.index; } }, } 原文地址:https://www.cnblogs.com/lxk0301/p/12165723.html

vue中单纯跳页及跳页传参的方法

1.跳页方法 <router-link to="文件路径">  </router-link> 相当于a标签的作用 2.跳页传值方法 A页中的配置 <button @click="sub()">首页</button> //给按钮一个绑定单机事件 methods: { sub(){ this.$router.push({ name: '路由配置中的name', params: { routeParam: this.data

Flutter路由跳转父级页面向子页面传参及子页面向父级页面传参

Flutter中页面通过路由跳转传参主要分两种,一种是通过push()跳转时根据设定的参数进行传参,另一种是通过pop()返回时进行传参. 父级页面向子页面push()传参 假设从A页面跳到B页面可能需要携带参数userName和userAge这两个参数,那么需要在B页面先设置这两个参数名:假设userName必须填而userAge非必需,那么可以通过设置@required其为必填选项: class PageB extends StatefulWidget { @override final u