JavaScript访问弹出窗口的弹出窗口

这个帖子的要求听起来就优点复杂啊:“有一个窗口t1,点t1中的一个按钮b1,弹出新窗口t2,点t2中的按钮b2,弹出新窗口t3,点t1中的按钮b3使t2,t3都关闭掉,能做到吗?”

简化一下,主窗口打开“弹出窗口1”,弹出窗口1打开“弹出窗口2”。而最后主窗口能够关闭“弹出窗口1”,和“弹出窗口2”。

panliu888前辈给出了非常简洁的代码,看了十分佩服。我把代码分解了一下,加了点注释,降低了阅读代码的难度(不然我有点读不懂)。个人认为思路中最精彩的一处就是下面突出显示的那一行。

主窗口的JS

<script type="text/javascript">
var win1;
function o1(){
//打开第一个窗口,并保存在winl中
win1=window.open('blue_js04ex2.html','','width=200,height=200');
}
//shutWindows函数用来关闭窗口1
function shutWindows(){win1.close();}
</script>

窗口1的JS

<script type="text/javascript">
function o2(){
//win2变量保存窗口2
win2=window.open('','','width=200,height=200');}
//当关闭窗口1的时候也关闭窗口2!
window.οnunlοad=function(){ win2.close();}
</script>

测试页面

下面一个帖子也是关于弹出窗口的。

弹出窗口的安全问题,帖子:蓝色中运行代码的不解?

蓝色理想论坛里有一个运行代码的功能。

var newwin=window.open('','','');
newwin.opener = null;
newwin.document.write(code);

newwin.opener = null;一句是什么意思呢?Poorfish前辈:“让子窗口不能对父窗口传参数”。如果没有这句代码,JS代码是可以利用opener访问甚至改变打开弹出窗口的网页,这样就杜绝了可能的安全问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值