下面是示例代码,带注释,请仔细阅读:
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 来对子框架进行操作。
以上,请采纳,请给分。
本回答被提问者和网友采纳