如何使用window.open将参数传递给窗口?

时间:2011-12-17 10:47:50

标签: javascript html html5 window.open

我基本上需要在一个单独的窗口中显示有关当前游戏的一些信息,我过去常常这样做:

gWindow = window.open("", "", "width = 350, height = 300, location = no");

if (self.pl.guild != undefined)
{
    gWindow.document.write("<p> Name: " + self.pl.guild.n + "</p>");
}

现在,我需要那个窗口变得更复杂......我想要一个预先准备好的页面,我只想加入它,我知道该怎么做,但我想要给窗口参数,或让窗口本身能够从主页面读取它们。你是怎么做到的?

2 个答案:

答案 0 :(得分:1)

新打开的窗口有一个属性,它引用主窗口:

var main_window = window.opener;
alert(main_window.location.href); // Example

主页上gWindow对象上定义的Propeties也将在打开的窗口window(全局)定义,因为gWindow引用了window新窗口的对象。

答案 1 :(得分:0)

通过查询行传递它们并在接收方解析它们。

例如:

window.open("myotherpage.html#param1=X|param2=Y" ...

在myotherpage.html中,执行:

var params = window.location.href.substring(window.location.href.indexOf('#')+1);
params = params.split('|');
for(var i=0; i<params.length; i++) {
  var pair = params[i].split('=');
  var key = pair[0];
  var value = pair[1];

  // .. your code here ..

}