解析javascript window.opener功能与open方法配合使用
57 浏览量
更新于2024-08-30
收藏 93KB PDF 举报
在JavaScript中,`window.opener` 是一个特殊的对象,它返回的是创建当前窗口(即子窗口)的那个窗口的引用。这是一个非常有用的属性,尤其是在处理浏览器窗口之间的通信时。当你在一个窗口(通常称为父窗口)中打开另一个窗口(子窗口)后,`window.opener` 就能让你访问和控制那个父窗口的元素和功能。
当我们在网页上点击链接,通过`window.open()`方法打开新的窗口时,`window.opener` 可以用来向父窗口传递数据。例如,假设在`a.htm`中有一个链接打开`b.htm`,用户在`b.htm`中输入数据后,可以使用以下代码将值赋给`a.htm`中id为"name"的文本框:
```javascript
window.opener.document.getElementById("name").value = "输入的数据";
```
然而,需要注意的是,`window.opener` 在框架结构中并不能直接使用,因为框架中的窗口并不是通过`window.open()`创建的,而是作为框架本身的一部分加载的。如果需要在框架内的页面与外部父窗口交互,可以通过引用框架的父窗口(`parent`)和特定的框架元素(如`frames['frameName']`)来间接实现,例如:
```javascript
parent.frames['frameName'].document.all.input1.value = "要设置的值";
```
`window.open()`函数则是用于打开一个新的浏览器窗口或tab,其基本语法如下:
```javascript
window.open(pageURL, name, parameters);
```
其中:
- `pageURL`:指定要打开的子窗口的URL。
- `name`:可选的,子窗口的名称,用于引用这个窗口。
- `parameters`:一系列的参数字符串,包括窗口大小、位置、工具栏、菜单、滚动条等的设置。
示例中提到的常用参数包括`height`、`width`、`top`、`left`、`toolbar`、`menubar`、`scrollbars`、`resizable`、`location` 和 `status`,它们分别表示窗口的高度、宽度、初始位置以及窗口的可见性。除了这些,还有更多其他参数,如`alwaysLowered`,用于控制窗口是否始终显示在底层等。
理解并熟练运用`window.opener`和`window.open()`是JavaScript网页开发中处理窗口间通信的重要技能,尤其是在需要在多个窗口之间共享数据或者控制布局时。记住,要确保在实际应用中遵循安全性和用户体验的最佳实践。
2019-03-01 上传
2019-03-22 上传
点击了解资源详情
2020-09-05 上传
2024-04-25 上传
2020-09-04 上传
2020-12-09 上传
点击了解资源详情
点击了解资源详情
weixin_38716590
- 粉丝: 4
- 资源: 913
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程