opener.show(); 父窗体需要顶一个show() 方法 父面页代码: 代码如下: <!DOCTYPE HTML PUBLIC “-//IETF//DTD LEVEL1//EN”> <html> <head> <title>html.html</title> <meta http-equiv=”keywords” content=”keyword1,keyword2,keyword3″> <meta http-equiv=”description” content=”this is my page”> <meta http-equiv=”content-type” content=” 在JavaScript中,有时我们需要从一个子窗口或者新打开的页面操作或通信到其父窗口。例如,当用户在子窗口中完成某个操作后,可能希望更新父窗口的状态或显示一些信息。在这种场景下,我们可以使用`window.opener`属性来访问和调用父窗口的方法。在给出的代码示例中,我们看到如何实现这个功能。 让我们看父窗口(html.html)的代码。在这个页面中,有一个按钮(id为"btn"),当点击这个按钮时,会打开一个新的页面(newpage.html)。在JavaScript部分,定义了一个`openPage`函数,该函数在`window.onload`事件触发时,将`btn`按钮的点击事件绑定到`openPage`,从而打开新的页面: ```javascript window.onload = function() { var btn = document.getElementById("btn"); btn.onclick = openPage; function openPage() { try { window.open("newpage.html"); } catch (e) { alert(e); } } } ``` 在父窗口中,还定义了一个`show`方法,这个方法改变`document.title`为当前时间。这个方法将在子窗口中被调用: ```javascript function show() { document.title = new Date(); } ``` 现在,我们转到子窗口(newpage.html)。这个页面也有一个按钮,当点击这个按钮时,会调用`opener.show()`,这实际上是在调用父窗口的`show`方法: ```html <button id="btn" onclick="fun()">单击</button> ``` 子窗口的JavaScript部分定义了`fun`函数,这个函数在按钮点击时被调用,并执行`opener.show()`: ```javascript function fun() { opener.show(); } ``` 这样,当你在子窗口点击"单击"按钮时,会调用父窗口的`show`方法,更新父窗口的标题为当前时间。这是JavaScript中父子窗口之间通信的一个简单例子,但需要注意的是,出于安全原因,现代浏览器可能会阻止跨窗口操作,特别是在弹出窗口的情况下。因此,实际应用中,这种方式可能受到同源策略和其他安全限制的影响。 总结来说,`window.opener`属性允许我们从一个新打开的窗口或子窗口引用并调用父窗口的属性和方法。在示例中,我们创建了一个简单的交互,使子窗口能够改变父窗口的标题。然而,在实际开发中,应考虑到跨窗口通信的安全性和兼容性问题。
- 粉丝: 5
- 资源: 922
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0