如何关闭html中的iframe弹出窗口
how to close iframe popup in 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,但我无法关闭popup,有人帮忙吗?
或有人有更好的解决方案或例子来做这样的弹出窗口吗?
任何帮助都非常感谢
您的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
}
您可以使用jQuery UI对话框来显示模式弹出窗口。它将很容易处理。
此外,还有许多jQuery插件可用于显示弹出窗口,如花式框、颜色框等。
相关文章:
- 防止Iframe窗体在新窗口中打开
- node-webkit-从父窗口捕获iframe鼠标事件
- 如何关闭html中的iframe弹出窗口
- 允许父窗口在其不同域的子iframe上调用函数
- 检查iframe内部的窗口是否已关闭
- 在jQuery中的IFrame中提交表单后刷新父窗口
- 在引导程序弹出窗口中显示iframe
- 可以'iframe的父窗口中发生捕获错误
- 如何在不使用iframe或库的情况下创建剪切显示窗口区域
- 获取相对于窗口的IFRAME位置
- iframe是否可能在没有主窗口帮助的情况下自行调整大小
- 如何在窗口调整大小时调整iframe的大小
- Iframe如何访问chrome扩展中的父窗口
- 从父窗口上的iFrame内容中关闭iFrame
- 关闭iframe中的模式弹出窗口
- 在iframe内的新选项卡/窗口中打开
- 从子项(iframe)检测窗口关闭命令
- `base`tag导致iframe在Internet Explorer中以新窗口的形式打开
- 是否可以打开一个新窗口并将iframe嵌入其中
- IE11 iFrame点击事件弹出以影响窗口