shenpeng

这篇文章是自己在项目中遇到,同时参考了网上的资料,作为笔记参考使用

一、页面之间的传值

1、使用cookie传值

封装简单使用:

//获取cookie
function getCookie(name){
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg)){
        return unescape(arr[2]);
    }
    else{
        return null;
    }
}
//删除cookie
function delCookie(name){
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval=getCookie(name);
  if(cval!=null){
    document.cookie= name + "="+cval+";expires="+exp.toGMTString();
  }
}

//设置cookie
function setCookie(name,value){
  var Days = 1;
  var exp = new Date();
  exp.setTime(exp.getTime() + Days*24*60*60*1000);
  document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}  

js使用cookie

通过 JavaScript,可以这样创建 cookie:

document.cookie = "username=Bill Gates";

您还可以添加有效日期(UTC 时间)。默认情况下,在浏览器关闭时会删除 cookie:

document.cookie = "username=John Doe; expires=Sun, 31 Dec 2017 12:00:00 UTC";

通过 path 参数,您可以告诉浏览器 cookie 属于什么路径。默认情况下,cookie 属于当前页。

document.cookie = "username=Bill Gates; expires=Sun, 31 Dec 2017 12:00:00 UTC; path=/";

获取cookie

var x = document.cookie;

删除cookie

直接把 expires 参数设置为过去的日期即可:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

 

2、使用localStorage

localStorage.setItem(\'myCat\', \'Tom\');      //设置
let cat = localStorage.getItem(\'myCat\');    //获取
localStorage.removeItem(\'myCat\');    //删除
localStorage.clear();   //删除所有

3、 通过url传递参数的方式

该案例也是从a.html向b.html页面传递参数

1. a.html的代码

1
2
<input type="text" value="猜猜我是谁">
<button onclick="jump()">跳转</button>

2.点击跳转按钮可以将input标签的value值传递到b.html

1
2
3
4
function jump() {
  var s = document.getElementsByTagName(\'input\')[0];
  location.href=\'7.获取参数.html?\'+\'txt=\' + encodeURI(s.value);
}

3. b.html中的代码

1
2
3
4
5
6
7
<div id="box"></div>
var loc = location.href;
var n1 = loc.length;
var n2 = loc.indexOf(\'=\');
var txt = decodeURI(loc.substr(n2+1,n1-n2));
var box = document.getElementById(\'box\');
box.innerHTML = txt;

二、父子页面方法的调用一级获取元素

1、$("#父窗口元素ID",window.parent.document);

对应javascript版本为

window.parent.document.getElementById("父窗口元素ID");

取父窗口的元素方法:

$(selector, window.parent.document);

取父窗口的父窗口的元素就可以用:

$(selector, window.parent.parent.document);

类似的,取其它窗口的方法大同小异
获取iframe父窗体元素:

$(selector, window.parent.document);

获取通过windows.open()打开的父窗体:

$(selector, window.opener.document);

获取通过 showModelDialog()打开的父窗体:

$(selector, window.dialogArguments.document);

用于刷新父窗口整个页面:

window.parent.location.reload();

window插件关闭窗口,类似于window.close():

parent.subWindow_add.Close();

刷新父页面中的id为“4thEditTable”的列表(局部刷新):

parent.$("#4thEditTable").load(window.parent.location.href+" #4thEditTable");

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-02-24
  • 2022-12-23
  • 2021-05-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-30
  • 2022-12-23
  • 2021-08-09
相关资源
相似解决方案