这篇文章是自己在项目中遇到,同时参考了网上的资料,作为笔记参考使用
一、页面之间的传值
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; |
二、父子页面方法的调用一级获取元素
js/jquery如何获取获取父窗口的元素
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");