日期:2014-05-18  浏览次数:20443 次

window.opener的意思是???
<INPUT   onclick= "window.opener= 'xxx ';window.close();   &nbsp; "   type= "button "   value= "閉じる "> 这个按钮的作用就是关闭这个窗口吗?是不是先打开某个窗口呢?

------解决方案--------------------
window.open 是方法

window.opener是个对象,这个对象是谁呢.....opener也就是这个页面的父页面
------解决方案--------------------
openner是打开当前窗口的父窗口,折断代码是将父窗口跳转到XXX地址再关闭本窗口
------解决方案--------------------
先打开某个窗口,在关闭某个窗口
------解决方案--------------------
window.opener= 'xxx ';
window.close();
========
以上两句是紧密关联在一起的,
事实上,这里有点 HACK 的味道

window.opener 表示打开此窗口的那个(父)窗口,通过 window.open 出来的窗口才有值,

假如是浏览器地址栏输入打开则为 null(空)

而 window.close(), 基于安全的考虑,浏览器会验证当前 window.opener 是否为空,
假如空,则先弹出个【确认窗口】,提示用户是否继续执行关闭窗口

对于浏览器直接打开的窗口,显示给 window.opener 赋值,就让浏览器误认为这是一个 window.open (脚本方式打开)的窗口,通过 window.close (脚本方式关闭)也是安全的了

......
------解决方案--------------------
请做以下测试(记得直接浏览器打开),观察效果

<INPUT onclick= "window.opener= 'xxx ';window.close(); &nbsp; " type= "button " value= "閉じる ">

<INPUT onclick= "window.close(); &nbsp; " type= "button " value= "閉じる ">
------解决方案--------------------
没有window.opener会有一个空白的窗体在后面,很丑。