html js 弹出iframe,javascript – 在iframe中使用window.open的唯一弹出窗口

本文讨论了在JavaScript中调用嵌套函数以关闭窗口时遇到的问题,由于父函数不可调用导致关闭窗口操作无法执行。为了解决这个问题,作者提出了在父窗口中注入函数的方案,以确保在各种浏览器中的兼容性。通过示例代码展示了如何在新打开的窗口中写入可执行的closeWindow()函数,并在适当时候调用它来关闭窗口。
摘要由CSDN通过智能技术生成

我在代码中看到几个问题:

>您正在调用嵌套在另一个函数中的函数来关闭窗口,因为父函数此时不可调用,所以永远不会被触发.

function openWin(){

/* code */

}

function closeWin(){

/* code */

}

>为了确保浏览器的兼容性关闭窗口,我强烈建议在父窗口中设置并调用生成弹出窗口内的可注入函数

注入函数的示例:

myWindow.document.write(

"

This is 'myWindow'

"

+"

+"function closeWindow()\{" // sample injected function

+"window.close();"

+"\}<\/script>"

);

完整示例:

Open "myWindow"

Close "myWindow"

var myWindow;

function openWin() {

myWindow = window.open("", "myWindow", "width=200,height=100");

myWindow.document.write(

"

This is 'myWindow'

"

+"

+"function closeWindow()\{" // sample injected function

+"window.close();"

+"\}<\/script>"

);

}

function closeWin() {

if(!myWindow.closeWindow) {

setTimeout(closeWin,1000); // repeat if function not found

} else {

myWindow.closeWindow();

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值