转父子页面传值

把弹出框做成一个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;
  }
}

猜你喜欢

转载自zhyp29.iteye.com/blog/2296551