2

我正在使用 window.open() 打开一个页面。有没有办法将 JSON 对象从父页面传递到子页面?当然,从父页面将数据写入 cookie 并从新页面读取相同的 cookie 可能是一种选择。还有更简单的方法吗?

4

2 回答 2

1

编辑

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

之前没有测试过那个代码,试试这个,你可以通过GET访问它

于 2012-04-11T19:41:02.263 回答
1

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

  1. 饼干。将值写入 cookie 并在打开的窗口中读取。
  2. 作为 url 哈希的一部分传递: window.open(url + '#' + encodeURIComponent(JSON.stringify(json));
  3. 我会尝试

    winRef = window.open(...);

    winRef.postMessage(...);

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

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

于 2012-04-12T00:54:20.720 回答