javascript - 如何关闭html中的iframe弹出窗口

标签 javascript jquery html

这是我的父页面,我从这里打开一个弹出窗口

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Popup example</title>
    <script type="text/javascript">
        function OpenPop() {
            window.scrollTo(0, 0);
            var width = document.documentElement.clientWidth + document.documentElement.scrollLeft;
            var height = document.documentElement.clientHeight + document.documentElement.scrollTop;
            var layer = document.createElement("div");
            layer.style.zIndex = 2;
            layer.id = "layer";
            layer.style.position = "absolute";
            layer.style.top = "0px";
            layer.style.left = "0px";
            layer.style.height = document.documentElement.scrollHeight + "px";
            layer.style.width = width + "px";
            layer.style.backgroundColor = "black";
            layer.style.opacity = "0.75";
            layer.style.filter += ("progid:DXImageTransform.Microsoft.Alpha(opacity=75)");
            document.body.style.position = "static";
            document.body.appendChild(layer);
            var size = { "height": 220, "width": 400 };
            var iframe = document.createElement("iframe");
            var popUrl = 'popup.htm';
            iframe.name = "Logic Form";
            iframe.id = "popup";
            iframe.src = popUrl;
            iframe.style.height = size.height + "px";
            iframe.style.width = size.width + "px";
            iframe.style.position = "fixed";
            iframe.style.zIndex = 3;
            iframe.style.backgroundColor = "white";
            iframe.frameborder = "0";
            iframe.style.top = ((height + document.documentElement.scrollTop) / 2) - (size.height / 2) + "px";
            iframe.style.left = (width / 2) - (size.width / 2) + "px";
            document.body.appendChild(iframe);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <a onclick="OpenPop();" href="#">OpenPopup</a>
    </div>
    </form>
</body>

这是我的 popup.html 页面,

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        function closeIframe() {
            var iframe = opener.document.getElementById("popup");
            var layer = opener.document.getElementById("layer");
            iframe.parentNode.removeChild(iframe);
            layer.parentNode.removeChild(layer);
        }
    </script>
</head>
    <body>
        <h3>This is Popup</h3>
        <a onclick="closeIframe();" href="#">Close</a>
    </body>
</html>

问题:在 popup.html 上,有关闭按钮,谁正在调用函数来删除 iframe,但我无法关闭弹出窗口,有人帮忙吗?

有人有更好的解决方案或示例来执行这样的弹出窗口吗?

非常感谢任何帮助

最佳答案

您的CloseIframe方法应该是:

function closeIframe() {
    window.parent.ClosePop();
}

在主页的 OpenPop 方法下,添加关闭操作,例如:

function ClosePop() {
    var layer = document.getElementById("layer");
    var iframe = document.getElementById("popup");
    document.body.removeChild(layer); // remove layer
    document.body.removeChild(iframe); // remove div
}

关于javascript - 如何关闭html中的iframe弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12382769/

相关文章:

javascript - 如何向 gstatic loader.js 谷歌图表库添加回调?

javascript - 如何检测 Facebook/Instagram/Twitter 浏览器?

javascript - 通过返回 false 来阻止链接打开 - 不起作用 (javascript)

javascript - 在 jQuery 中如何使用偏移量进行迭代?

javascript - 检查 'click' 事件上的 Ctrl/Shift/Alt 键

php - 如何使用 jQuery 的 $.ajax() 函数来运行 php 脚本?

javascript - css 或 jQuery 中的半透明效果?

android - 我应该为数字杂志应用程序进行混合开发还是本地开发?

html - 将鼠标悬停在一个 div 上并将背景颜色应用于另一个 div

html - 如何通过 Facebook like 按钮传递元描述而不使用 og 标签?