opener的用法

opener返回的是当创建当前窗口的那个窗口的引用,也就是得到父级窗口的引用!它主要适用于window.open(url,name,parameters)语句所打开的新窗口,比如:

a.html

 1 <html xmlns="http://www.w3.org/1999/xhtml">
 2 <head>
 3     <script language="javascript" type="text/javascript">
 4         function openwindow() {
 5             window.open("b.html");
 6         }
 7     </script>
 8 </head>
 9 <body>
10     <form id="form1" runat="server">
11        <input name="userName" id="userName" value="老朽到此一游" /><a href="javascript:void();" target="_blank" onclick="openwindow();">打開新窗口</a>
12     </form>
13 </body>
14 </html>

b.html

 1 <html xmlns="http://www.w3.org/1999/xhtml">
 2 <head>
 3     <title>測試</title>
 4     <script language="javascript" type="text/javascript">
 5         function closeWindow() {
 6             var demo = opener.document.form1.userName.value;
 7             //var demo = opener.document.find("#userName").val();
 8             alert(demo);
 9         }
10     </script>
11 </head>
12 <body>
13     <form id="form1" runat="server">
14     <div>
15         <a href="javascript:void(0);" onclick="closeWindow();">關閉</a>
16     </div>
17     </form>
18 </body>
19 </html>

当,在a.html中点击“打开新窗口”时,通过window.open的方式打开了一个页面b.html,通过点击b.html的关闭时,则会弹出“老朽到此一游”的对话框!至于为什么?百度一下opener的用法你就清楚了。需要注意的是,网上所说通过<a href="b.html" target="_blank">显示文本值</a>打开的新窗口也能实现以上效果,哥哥我没能实理,如果有,不妨分享一下,3Q。

http://hi.baidu.com/otcober/item/2322448233017b5b27ebd94d

原文地址:https://www.cnblogs.com/seasons1987/p/2767993.html