2012-04-11 143 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

相關問題