2012-01-05 80 views
0

我有幾個網站有不同的域名。客戶可能會在a.com/1.html頁面中執行某些操作,並在此處生成一些數據。然後,客戶可以點擊a.com/1.html頁面中的鏈接並將其重定向到b.com/2.html,而b.com/2.html可能會在同一窗口或新窗口中打開。是否有任何前端(JavaScript/HTML)方法將a.com/1.html中生成的數據傳輸到b.com/2.html?如何將數據從一頁傳輸到下一頁?

由於兩頁是不在同一個域,Cookie/localStorage的不可用在此處,將下一個頁面可以在新窗口中打開這樣的數據不能被存儲在window.name暫時的,數據可能有點長,出於某種原因,我們無法通過URL參數傳遞它。我不需要兩個頁面之間的雙向通信,我需要的是第一頁將數據傳輸到下一頁,或者第一個頁面將數據存儲在某處,然後下一個頁面獲取它。

有沒有解決方案?

謝謝!

+0

POST請求是一個可行的解決方案嗎? – PPvG 2012-01-05 10:29:57

+0

下一頁可能是一個靜態頁面,它無法處理POST ... – oldj 2012-01-05 10:44:08

+0

在這種情況下,URL參數可能是您進入第2頁的唯一入口點。也許如果您提供了這種數據的樣本,正在與之合作,有人可以給你一種方法來規避爲什麼這種解決方案不起作用的「某種原因」。值得一試,不是嗎? – PPvG 2012-01-05 11:16:08

回答

1

如果你試圖轉移可以適合GET參數的數據,也許這是一個可行的解決方案:

  1. a.com沿着數據傳遞給b.com在GET參數;
  2. 將數據保存在cookie中的b.com;
  3. 重定向到相同頁面(在b.com)沒有參數;
  4. 加載cookie中的數據。
+0

這兩個頁面可能位於不同的域中,例如第一頁是a.com/1.html,下一頁是b.com/2.html,如果數據保存在a.com的cookie中,看起來似乎沒有辦法在b.com中加載它? – oldj 2012-01-05 13:06:36

+0

@oldj:我更新了答案,使其更加清晰。我的意思是將數據傳遞給'b.com'和**然後**保存一個cookie。重定向僅爲**,以防止人們通過參數共享或爲網址添加書籤。 – PPvG 2012-01-05 13:18:28

+0

明白了,謝謝!這確實是一個解決方案,唯一的問題是它會將b.com中的頁面加載兩次,這會在瀏覽器歷史記錄和服務器端日誌中創建兩條記錄,並且客戶可能會注意到額外的重定向,用戶體驗不太好... – oldj 2012-01-05 13:36:31

0

請嘗試在a.com/1.html頁面中的window.showModalDialog()或window.showModallessDialog()在新窗口或瀏覽器標記中打開b.com/2.html。這兩個函數的第二個參數可能是一個對象,您可以在其中將您的數據從a.com/1.html中傳輸到b.com/2.html~~

+0

window.showModalDialog和窗口。showModallessDialog僅適用於IE,有時我們需要在同一個窗口中打開下一頁,這意味着當用戶看到b.com/2.html時,a.com/1.html將不再存在。看來這兩種方法在這種情況下效果不佳。 – oldj 2012-01-06 02:05:04

0

這兩個站點都可以使用flash SharedObject存儲數據。只要他們在同一個域中使用swf文件,他們就可以共享數據。

但是,閃存不是ios設備的可用解決方案。所以在使用之前考慮一下。

相關問題