2012-03-29 49 views
0

我的用戶的網站收集有關其用戶的引薦來源數據,並將其存儲在綁定到其域的cookie中。如果客戶想要發起聊天併發送引薦來源數據,他們會點擊一個按鈕,該按鈕會創建一個彈出窗口,其中的網址位於我的域名上(因此我無法直接訪問他們的Cookie)。我希望彈出窗口接收存儲在其域中cookie上的數據(假設我也在他們的站點上控制JS)。JavaScript:將數據傳遞到幕後的跨域彈出窗口

理想情況下,我會做:

var w = window.open(...); 
w.originalReferrer = ...; 

...但是我聽到了將數據傳遞給彈出的這種方法只有在彈出是在同一個域(安全性限制)的作品。

我還可以把它作爲一個GET ARG:

window.open('chat?originalReferrer=' + encodeURIComponent(...) + ') 

...但我寧願保持彈出窗口的URL乾淨,所以沒有GET ARGS應該是可見的。有沒有辦法清理它,比如使用重定向(並且由於目標位於同一個域(我的域),可能有一個很好的JS方法來傳遞這些數據)?

感謝:-)

回答

0

在其網站上,注入JS會從cookie收集數據,並把它放在一個隱藏的形式職位,以您的域名在新窗口中(target="_blank")。

發佈到一個新窗口並不總是會給你一個彈出(選項卡),所以或者你可以在JavaScript中製作一個彈出窗口(使用var popup_window = window.open(),它給你一個對該窗口的引用,從而文檔等。 )。在彈出窗口中設置隱藏窗體,然後然後將其發佈到您的域。

POST-ing只是爲了保持您的URL清潔,這是我認爲的一個好主意。

相關問題