`

windows.opener

阅读更多

      window.opener.location.reload();这个方法在强迫父窗口的时候,在有些IE浏览器(比如安全设置高)的情况下,会弹出一个确认对话框,提示是不是要重新再刷新一次页面,这可是比较郁闷的事情哦,我后来把这个方法替换成了window.opener.location.href=window.opener.location.href;
就不会出现那样的问题了。

       window.opener其实是指本窗口的父窗口,比如,one.jsp 通过popupwindow打开了two.jsp,哪么在two.jsp里面的window.opener就是指one.jsp,所以在two.jsp里面完全可以用window.opener调用任何一个one.jsp里面的方法,实现one.jsp和two.jsp的交互。
       注意:window.opener.location.href只是一个链接,如果想实现父窗口的提交就要调用window.opener.action="" 和window.opener.submit();方法,但是不幸的是这段代码在firefox下不能运行,解决的办法为在父窗口中写一个提交的function在子窗口中通过window.opener.functionname()调用。
       通常在使用window.opener的时候要去判断父窗口的状态,如果父窗口被关闭或者更新,就会出错,解决办法是加上如下的验证if(window.opener && !window.opener.closed)
有时我们需要在新打开的窗口里面编辑信息,等编辑完了,需要将当前窗口关闭并且刷新父窗口,以使修改生效,本文就是介绍用 javascript 来实现"更新记录后关闭子窗口并刷新父窗口".


1. <script language="JavaScript" type="text/javascript">
2. <!--
3. function refreshParent()
4. {
5.     window.opener.location.href = window.opener.location.href;
6.     if (window.opener.progressWindow)
7.     {
8.         window.opener.progressWindow.close();
9.     }
10.     window.close();
11. }
12. //-->
13. </script>
14.
15. <a href="javascript:void(0)" onclick="refreshParent()">刷新父窗口并关闭当前窗口</a>
16.


1:   window.parent 是iframe页面调用父页面对象

举例:
a.html
17. 程序代码
18. <html>
<head><title>父页面</title></head>
<body>
<form name="form1" id="form1">

<input type="text" name="username" id="username"/>

</form>
<iframe src="b.html" width=100%></iframe>
</body>
</html>
19.

如果我们需要在b.htm中要对a.htm中的username文本框赋值,就如很多上传功能,上传功能页在Ifrmae中,上传成功后把上传后的路径放入父页面的文本框中

我们应该在b.html中写
20. 程序代码
21. <script type="text/javascript">
var _parentWin = window.parent ;
_parentWin.form1.username.value = "xxxx" ;
</script>
22.

实例地址:  http://www.cnspry.cn/blog/attachments/window.parent实例/a.html

2:   window.opener 是window.open 打开的子页面调用父页面对象

a.html
23. 程序代码
24.
<script type="text/javascript">
function openSubWin()
{
var _width = 300 ;
var _height = 200 ;
var _left = (screen.width - _width) / 2 ;
var _top = (screen.height - _height) / 2 ;
window.open("b.html",null,
"height=" + _height + ",width=" + _width + ",status=no,toolbar=no,menubar=no,location=no,resizable=yes,left=" + _left + ",top=" + _top);
}
</script>
<input type="text" name="username" id="username"/>
<input type="button" value="弹出子页面" onClick="openSubWin();">
25.

b.html
26. 程序代码
27.
<script type="text/javascript">
function UpdateParent()
{
var _parentWin = window.opener ;
_parentWin.form1.username.value = "xxxx" ;
}
</script>
<input type="button" name="button" id="button" value="更新主页面的UserName内容" onClick="UpdateParent();">

分享到:
评论

相关推荐

    Javascript中封装window.open解决不兼容问题

    对window.open进行封装, 使其更好用, 且更兼容, 很多人说window.open不兼容,其实不是, 因为不能直接执行, 必须通过用户手动触发才行;看代码: 代码如下 var openWindow = function(url, options) { ...

    OpENer:OpENer是用于IO适配器设备的EtherNetIP堆栈。 它支持多个IO和显式连接,并包括对象和服务,这些对象和服务用于制造ODVA规范中定义的符合EtherNetIP的产品

    要测试此版本,我们建议安装了Cygwin( )Linux PC或Windows。 您将需要安装以下软件: CMake的海湾合作委员会使Binutils libcap的开发库(libcap-dev或等效的) 用于普通建筑。 这些应该安装在大多数L

    OpENer-master:EtherNetIP 驱动程序

    要测试此版本,我们建议使用安装了 Cygwin ( ) 的 Linux PC 或 Windows。 您将需要安装以下内容: 制作 海湾合作委员会 制作 二进制实用程序 对于普通建筑。 这些应该安装在大多数 Linux 安装上,并且是 Cygwin ...

    exampleJS:JavaScript示例代码

    exampleJS JavaScript示例代码 tryto_WebSocket_server_push WebSocket示例。服务器端是用C语言创建的。 使用libwebsockets库... example1在Windows 7 Chrome Ver.44中,该值未从子窗口传递到父窗口。 example2即使

    在firefox和Chrome下关闭浏览器窗口无效的解决方法

    原因在于: Firefox下默认设置是无法通过脚本来关闭浏览器窗口的,为的是防止恶意脚本注入, 所以调整的方式就是在url地址栏中输入about:config, 然后在配置列表中找到 dom.allow_scripts_to_close_windows 点右键...

    python 自动重连wifi windows的方法

    如下所示: # coding=utf-8 import urllib2 import urllib from cookielib import CookieJar ... self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookiejarinmemory)) urllib2

    javaScript 关闭浏览器 (不弹出提示框)

    如果网页不是通过脚本程序打开的(window.open()),调用window.close()脚本关闭窗口前,必须先将window.opener对象置为null,否则浏览器(IE7、IE8)会弹出一个确定关闭的对话框。

    IT Hit Edit Document Opener 4-crx插件

    使用“编辑文档打开器”,您可以:*从Windows,Mac OS X和Linux上的Google Chrome浏览器中的网页打开任何文档(PDF,TXT,DWG,PSD等),并保存回服务器,而无需下载/上传步骤。 *从具有Cookie身份验证的WebDAV...

    pyhton爬虫:三种爬取csdn首页所有文章的方法

    1. 爬取csdn首页所有文章 1.1 方法1 import urllib.request ...#伪装浏览器 headers=('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0....opener.addheaders=

    weather.exe

    opener.addheaders=headall #将opener安装为全局 urllib.request.install_opener(opener) #构造数据,城市分别是北京、天津、石家庄、太原、济南、沈阳、呼和浩特、郑州 city_id = ['54511','54517','53698','...

    IT Hit Edit Doc Opener 5-crx插件

    使用“编辑文档打开器”,您可以:*从Windows,Mac OS X和Linux上的Google Chrome浏览器中的网页打开任何文档(PDF,TXT,DWG,PSD等),并保存回服务器,而无需下载/上传步骤。 *从具有Cookie身份验证的WebDAV...

    js实现不提示直接关闭网页窗口

    项目需要,用户在关闭当前页面时,可以点击页面中的按钮直接关闭网页窗口,但是不需要提示用户是否关闭窗口。 在网上找了下,使用添加一句如下... window.opener=null; window.open('','_self'); window.close(); }

    分布式爬虫框架Cola.zip

    cola.core.opener.SpynnerOpener,基于spynner实现了一个Opener能够执行JavaScript和Ajax代 码。目前这个爬虫存在的问题是:新浪微博可能会将其识别成机器人,因此有可能会让输入验证码。wiki和weibo之前有所提及。...

    Python获取远程文件大小的函数代码分享

    复制代码 代码如下:def getRemoteFileSize(url, proxy=None): “”” 通过content-length头获取远程文件大小 url – 目标文件URL proxy – ... opener.add_handler(urllib2.ProxyHandler({‘https’ : proxy})) e

    python3使用urllib模块制作网络爬虫

    用urllib.request.build_opener([handler, …]),来伪装成对应的浏览器 import urllib #要伪装成的浏览器(我这个是用的chrome) headers = ('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ...

    Python实现爬虫设置代理IP和伪装成浏览器的方法分享

    1.python爬虫浏览器伪装 #导入urllib.request模块 import urllib.request #设置请求头 headers=(User-Agent,Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0...opener.addhe

    AODocs - Universal File Opener-crx插件

    语言:English,Français 使用本地应用程序编辑任何Google Drive:trade_mark:文件。...²UFO Sync Client应用程序当前可用于Windows和macOS。 有关AODocs-通用文件打开器的更多信息:https://bit.ly/2lXPIoL

    IT打编辑文档打开器4「IT Hit Edit Document Opener 4」-crx插件

     *从Windows,Mac OS X和Linux上的谷歌浏览器的网页上打开任何文档(PDF,TXT,DWG,PSD等),并保存到服务器,无需下载/上传步骤。  *使用cookie身份验证从WebDAV服务器打开任何文档,包括MS Office文档。 支持...

    Python爬取附近餐馆信息代码示例

    本代码主要实现抓取大众点评网中关村附近的餐馆有哪些,具体如下: import urllib.request import re def fetchFood(url): # 模拟使用浏览器浏览大众点评的方式浏览... opener = urllib.request.build_opener

Global site tag (gtag.js) - Google Analytics