2012-04-11 102 views
2

我使用window.open打开页面()。有没有办法将父对象的JSON对象传递给子页面? Ofcourse将数据写入到从父一个cookie并读取来自新页面相同的cookie可能是一种选择。任何更简单的方法?传递JSON对象到另一个

回答

1

编辑

var options = {foo:'foo'}; 
var myURL="http://localhost"; 
window.open(myURL + "/?options=" + JSON.stringify(options)); 

之前没有测试的代码,试试这个,你可以访问它打通

+0

它没有工作。当我尝试在子页面中读取它时,我收到一条错误消息,说明对象未定义。 – developer747 2012-04-11 20:20:56

+0

我编辑的代码,它的工作 – riso 2012-04-11 21:03:14

+0

我知道我可以使用一个查询字符串。我不想这样做,因为该数据比查询字符串可以处理:( – developer747 2012-04-11 21:58:06

1

我看到有几种方法可以做到这一点:

  1. 饼干。将值写入cookie并在打开的窗口中读取它。
  2. 通行证的URL哈希的一部分:window.open(网址+ '#' + encodeURIComponent方法(JSON.stringify(JSON));
  3. 我会尝试

    winRef = window.open(。 ..);

    winRef.postMessage(...);

https://developer.mozilla.org/en/DOM/window.postMessage

我没有尝试第三个选项,但它可能是一个不错的选择,1和2

相关问题