簡體   English   中英

JavaScript:將數據傳遞到后台的跨域彈出窗口

[英]JavaScript: Passing data to a cross-domain popup behind the scenes

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

理想情況下,我會這樣做:

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

...但是我聽說這種將數據傳遞到彈出窗口的方法僅在彈出窗口位於同一域(安全性限制)時才有效。

我也可以將其作為GET參數傳遞:

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

...但是我希望保持彈出窗口的URL整潔,因此不應顯示任何GET args。 有沒有辦法清理它,例如使用重定向(並且由於目標現在位於相同的域(我的域)上,所以可能有一種不錯的JS方式來傳遞此數據)?

謝謝 :-)

在他們的網站上,注入將從cookie收集數據的JS並將其以隱藏的形式放入新窗口( target="_blank" )中發布到您的域中。

發布到新窗口並不總是會為您提供一個彈出窗口(選項卡),因此您也可以在JavaScript中制作一個彈出窗口(使用var popup_window = window.open() ,該窗口為您提供了對該窗口的引用,因此文件等)。 在彈出窗口中創建隱藏的表單, 然后將其發布到您的域中。

POST-ing僅是保持URL干凈所必需的,我認為這是個好主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM