js中几个对象的区别和用法
今天总结一下js中几个对象的区别和用法:
首先来说说 parent.window与top.window的用法
"window.location.href"、"location.href"是本页面跳转
"parent.location.href"是上一层页面跳转
"top.location.href"是最外层的页面跳转
举例说明:
如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写
"window.location.href"、"location.href":D页面跳转
"parent.location.href":C页面跳转
"top.location.href":A页面跳转
现在终于明白了连接的时候target的用法了:
_blank:重新打开一个窗口
_parent:父窗口执行重定向
_self:自身页面重定向
_top:第一个父窗口重定向
综上所述可知:parent.window:父窗口对象 top.window:第一个父窗口的对象
下面来重点看看window.parent与window.openner区别
window.parent 是iframe页面调用父页面对象,当我们想从iframe内嵌的页面中访问外层页面是可以直接利用window.parent获取;
例子如下:
A.html
<html>
<head>
<title>父页面</title>
</head>
<body>
<form id="form1" action="">
<div>
输入值:
<input type="text" name="username" id="username" /><br />
<iframe src="b.html" width="400px" height="300px"></iframe>
</div>
</form>
</body>
</html>
B.html
<html>
<head>
<script type="text/javascript">
function getpValue()
{
document.getElementByIdx_x_x_x("span1").innerText=window.parent.document.getElementByIdx_x_x_x("username").value;
}
</script>
</head>
<body>
<span>文本框值为:</span><span id="span1"></span><br />
<input type="button" value="获取父窗口内的文本框值" οnclick="getpValue();">
</body>
</html>
window.opener 是window.open或超链接<a> 打开的子页面调用父页面对象
例子如下
a.html
<html>
<head>
<title>父页面</title>
<script type="text/javascript">
function openB()
{
window.open('b.html','b','width=400,height=200,status=no,toolbar=no,menubar=no,location=no,resizable=yes,left=200,top=100');
}
</script>
</head>
<body>
<form id="form1" action="">
<div>
输入值:
<input type="text" name="username" id="username" /><br />
<input type="button" value="打开窗口B" οnclick="openB();" /><br />
<a href="b.html" target="_blank">超链接打开B页面</a>
</div>
</form>
</body>
</html>
b.html
<html>
<head>
<script type="text/javascript">
function getpValue()
{
document.getElementByIdx_x_x_x("span1").innerText=window.opener.document.getElementByIdx_x_x_x("username").value;
}
</script>
</head>
<body>
<span>文本框值为:</span><span id="span1"></span><br />
<input type="button" value="获取父窗口内的文本框值" οnclick="getpValue();">
</body>
</html>
下面来举几个常用的例子:
parent.window与top.window一般在分割的页面即 frameset或iframe中使用
注销整个框架后返回到login.aspx:parent.window.location='Login.aspx'或者
top.window.location='Login.aspx'
window.parent也是常在框架中使用,
刷新:window.parent.location.reload();或者刷新某个框架:window.parent.MainForm.location.reload();
获得其他框架的元素值:window.parent.MainForm.form1.text1.value;
window.opener主要是获得通过超链接或者 window.open() 打开本身页面的页面的一些,比如获得值,刷新等
刷新:window.opener.location.reload();
获值:window.opener.document.getElement("txtName").value;
后退:top.playFrame.history.go(-1);
前进: top.playFrame.history.go(1);
刷新: top.playFrame.location.reload();
就总结到这里,这些对象很实用
转载于:https://www.cnblogs.com/systemEsc/p/3520945.html
js中几个对象的区别和用法相关推荐
- js中parentNode和parentElement的区别和用法
了解本篇的基础必须知道什么是节点,关于html dom节点知识点和节点类型的知识,分别看<js节点都有哪些类型?怎么判断是哪种节点类型?>和<js属性节点获取和移除>,下面直接 ...
- js中数组和对象的区别方法
可以使用:instanceof function isArray(obj) {return obj instanceof Array; } function isObject(obj){return ...
- Js中apply与call的区别与用法
解析: apply与call是更改对象的内部指针,即改变对象的this指向的内容. call与apply的第一个参数都是要传入给当前对象的对象,及函数内部的this.后面的参数都是传递给当前对象的参数 ...
- JS中some和every的区别和用法
some和every是数组中迭代的方法 相同点:some和every都有三个参数,即item→当前项,index→当前的索引值,array→数组本身:都可以遍历数组 不同点: some相当于逻辑关系中 ...
- return true Java_[Java教程]js中return,return true,return false的用法及区别
[Java教程]js中return,return true,return false的用法及区别 0 2015-11-16 23:00:03 1.语法及返回方式 ①返回控制与函数结果 语法为:retu ...
- uniapp 获取到js文件var一个变量怎么获取到这个变量值_浅析Js中const,let,var的区别及作用域...
理解:let变量的作用域只能在当前函数中 js中const,let,var的区别及作用域_lianzhang861的博客-CSDN博客blog.csdn.net 全局作用域中,用 const 和 l ...
- js中的extend的用法及其JS中substring与substr的区别
1. JS中substring与substr的区别 之前在项目中用到substring方法,因为C#中也有字符串的截取方法Substring方法,当时也没有多想就误以为这两种方法的使用时一样的. ...
- js中DOM, DOCUMENT, BOM, WINDOW 区别
全栈工程师开发手册 (作者:栾鹏) js系列教程6-BOM操作全解 js系列教程7-DOM操作全解 js中DOM, DOCUMENT, BOM, WINDOW 区别 DOM 全称是 Document ...
- 你还认为JS中万物皆对象?
经常在国内的各大网站博客上看到一句话,叫做JS中万物皆对象,那是否真是如此? 那么,我们先来捋一捋JS中的数据类型,JS中的数据类型有下面几种 Undefined Null Boolean Numbe ...
最新文章
- 【深度学习笔记】关键点检测——标签(Ground Truth)构建
- HDU 1301 Jungle Roads(裸最小生成树)
- 2021.12.17自制望远镜调焦座材料
- uva437巴比伦塔
- 战队口号霸气押韵8字_高考励志班级口号霸气押韵大全
- C++设计模式之四 模板模式
- Ubuntu系统详细分析【1-10】
- 又见回文数 NYOJ781
- 最新版的Python写春联,支持行书隶书楷书,不再有缺失汉字
- android壁纸服务,android壁纸服务流程浅析
- 关于IE上embed自动播放
- 《爱的五种语言》阅读笔记
- 微信电脑版多用户登录
- ubuntu依赖库下载(pkgs)
- XUGU:利空频传,建网站如何去赚钱?
- Spring MVC中的Model, ModelMap, 和ModelAndView
- 搭建传奇游戏,都需要准备什么东西。
- 仙剑奇侠传7御灵有什么用?御灵的作用与培养策略
- 跨境物流的主要操作流程是怎样的?
- VMware虚拟机启动后黑屏,无论怎么按都是不动弹
热门文章
- 2021年基金什么时候布局?
- 两台电脑之间如何快速传输几百G的文件?
- 本地Nginx+Hosts配置本地前端代码和后端代码联调
- power bi 背景图_Power BI桌面饼图树
- SQL Server中的身份功能教程
- 横向扩展 纵向扩展 数据库_扩展数据库–减少扩展的艺术
- ssas表格模型 权限控制_如何使用DAX函数查询SSAS表格模型数据库
- aws rds监控慢sql_使用AWS Lambda函数自动启动/停止AWS RDS SQL Server
- 数据库创建存储过程_创建存储过程来修复孤立的数据库用户
- 计算两个日期相差天数的最简洁的代码