JavaScript: передача данных в междоменное всплывающее окно за кулисами - PullRequest
0 голосов
/ 30 марта 2012

Сайты моих пользователей собирают данные реферера о своих пользователях и сохраняют их в файле cookie, который привязан к их домену.Если клиент хочет начать чат и отправить данные реферера, он нажимает кнопку, которая создает всплывающее окно с URL-адресом в МОЕМ домене (поэтому я не могу напрямую получить доступ к его файлам cookie).Я хотел бы, чтобы во всплывающем окне принимались данные, хранящиеся в cookie-файлах на их домене (предположим, что я также управляю JS на их сайтах).

В идеале я хотел бы сделать:... но я слышал, что этот способ передачи данных во всплывающее окно работает, только если всплывающее окно находится в том же домене (ограничения безопасности).

Я также мог бы передать его как аргумент GET:

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

... но я бы предпочел, чтобы URL-адрес всплывающего окна был чистым, поэтому аргументы GET не должны быть видны.Есть ли способ очистить его, например, с помощью перенаправления (и поскольку адресат теперь находится в том же домене (мой домен), может быть хороший способ JS передать эти данные)?

Спасибо: -)

1 Ответ

0 голосов
/ 30 марта 2012

На своем сайте внедрите JS, который будет собирать данные из файла cookie, и поместите их в скрытую форму, которая будет публиковаться на вашем домене в новом окне (target="_blank").

Публикация в новом окне isnне всегда будет давать вам всплывающее окно (вкладки), так что в качестве альтернативы вы можете создать всплывающее окно в JavaScript (используя var popup_window = window.open(), который дает вам ссылку на это окно и, следовательно, на документ и т. д.).Создайте скрытую форму во всплывающем окне и , затем опубликуйте ее на своем домене.

POST-ing необходим только для поддержания чистоты ваших URL-адресов, что, я думаю, является хорошей идеей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...