把弹出框做成一个div就可以了,弹出的时候背景加个遮罩。
基本原理
在父窗口中创建新窗口时,把新窗口的实例给保存下来——
var childWin = window.open(url);
在新窗口中可以通过 opener 访问父窗口——
var parentWin = window.opener;
在父页面中读取子页面传来的数据
子页面
window.opener.params = { a: 1, b: 2 };
父页面
var params = window.params; // { a: 1, b: 2 }
在子页面中读取父页面传来的数据
父页面
window.windowPool = []; // 用于存储子页面的 window 对象及传递的参数
var newWin = window.open(url); // 新建窗口,url 为子页面地址
var params = {}; // 存储需要传到子页面的数据
window.windowPool.push({
"window": newWin,
"parameter": params
});
子页面
var params;
var index = 0;
for (; index < opener.windowPool.length; index++) {
if ( opener.windowPool[index].window === window ) {
params = opener.windowPool[index].parameter;
break;
}
}
基本原理
在父窗口中创建新窗口时,把新窗口的实例给保存下来——
var childWin = window.open(url);
在新窗口中可以通过 opener 访问父窗口——
var parentWin = window.opener;
在父页面中读取子页面传来的数据
子页面
window.opener.params = { a: 1, b: 2 };
父页面
var params = window.params; // { a: 1, b: 2 }
在子页面中读取父页面传来的数据
父页面
window.windowPool = []; // 用于存储子页面的 window 对象及传递的参数
var newWin = window.open(url); // 新建窗口,url 为子页面地址
var params = {}; // 存储需要传到子页面的数据
window.windowPool.push({
"window": newWin,
"parameter": params
});
子页面
var params;
var index = 0;
for (; index < opener.windowPool.length; index++) {
if ( opener.windowPool[index].window === window ) {
params = opener.windowPool[index].parameter;
break;
}
}