js子窗口关闭,父窗口跳转指定页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js子窗口关闭,父窗口跳转指定页面相关的知识,希望对你有一定的参考价值。
有三个A,B,C
A是父窗口;
B窗口是在A窗口中的iframe;
C窗口是弹出的artDialog子窗口;
现在是要C窗口中一个按钮点击,把C窗口关闭,然后B窗口跳转指定页面;
下面是示例代码,带注释,请仔细阅读:
1、 父窗口 A
<head><!-- 引入 artDialog 文件 -->
<link href="./skins/default.css" rel="stylesheet" />
<script src="./artDialog.min.js"></script>
<script>
// 全局变量,保存弹窗窗口句柄
var dialog;
// 定义 弹出窗口操作 函数
window.myDialog = function()
// 如果之前有已经打开的弹窗,则先将其关闭。
if (dialog) dialog.close();
// 弹出窗口
dialog = art.dialog(
title: '登录',
content: '密码:<input id="login-pw" type="text" value="****" />'
+ '<iframe src="C"><\\/iframe>',
lock: true,
fixed: true,
ok: top.closeMyDialog, // 处理窗口关闭操作
okValue: '登录',
cancel: function ()
);
// 定义 关闭窗口操作 函数
window.closeMyDialog = function()
// 处理弹出窗口的内容
alert(document.getElementById('login-pw')value);
// 关闭窗口
dialog.close();
// 改变 iframe 框架指向
frames[0].location.href = 'anywhere_u_want.htm';
</script>
</head>
<body>
<!-- iframe 框架结构 -->
<iframe src="B"></iframe>
2、 Iframe 窗口 B (在 A 中)
<input type="button" onclick="top.myDialog();" value="弹出窗口" />3、 其实上面两个的结构应该足够使用了。但如果你非要在 C 窗口中操作,那么 C 中的按钮可以这样:
<input type="button" onclick="top.closeMyDialog();" value="关闭" />=====
总结:
其实说穿了,就是通过 top 对象来获取顶层窗口,进行对应的操作。通过 frames 来对子框架进行操作。
以上,请采纳,请给分。
本回答被提问者和网友采纳layer.js关闭子窗口及刷新父窗口
在需要layer.js弹窗口时,当编辑完窗口内容,需要关闭及刷新父窗口时:
$("#senddata").click(function(){
var id = $(‘input[name=id]‘).val();
var amount = $(‘input[name=amount]‘).val();
var star = $(‘input[name=star]‘).val();
$.post("{:url(‘admin/card/editPart_Data‘)}",{id:id,amount:amount,star:star},function(res){
layer.msg(res);
(此处有时关闭当前窗口可直接用layer.close(index);)
var index = parent.layer.getFrameIndex(window.name); \\声明父窗口
setTimeout("parent.layer.closeAll(‘index‘)",1500); \\设1500是因为上面有个layer.msg(res)的结果,为留时间显示操作结果
window.parent.location.reload(); \\刷新父窗口
})
});
以上是关于js子窗口关闭,父窗口跳转指定页面的主要内容,如果未能解决你的问题,请参考以下文章
怎么点击确定按钮关闭当前窗口,并返回父页面,并且父页面刷新。