Как проверить, что пользователь вводит что-то в iframe (внешний домен) - PullRequest
0 голосов
/ 18 мая 2019

Я создаю приложение, в котором пользователь вводит код ваучера в форму, а затем мы показываем им виджет бронирования в iframe (внешний домен)

Моя проблема в том, что я не знаю, выполняет ли пользователь полное резервирование, чтобы пометить ваучер в базе данных как использованный. Я знаю, что не могу получить доступ к iframe HTML, но есть ли способ проверить, когда пользователь вводит что-то, потому что, если что-то вводить, это означает, что он находится на последнем шаге - введите личные данные.

Мой вопрос: Есть ли способ узнать, печатает ли пользователь что-то на своей клавиатуре, если форма находится в iframe?

Я не хочу красть какие-либо пользовательские данные! Есть ли другой способ проверить, что произошло в iframe? Взять снимок экрана?

Ответы [ 2 ]

1 голос
/ 18 мая 2019

Извините, это невозможно, так как политика перекрестного происхождения.

0 голосов
/ 18 мая 2019

Есть несколько альтернатив для вас. Как правило, вы не можете получить доступ к iframe по соображениям безопасности, однако, если внешний домен принадлежит вам или согласен сотрудничать, есть способы сделать эту работу.

Один из вариантов - обмен сообщениями между окнами. Это позволяет вам отправлять сообщения в домен и отвечать на них. Подвох в том, что они должны реагировать, и поэтому вам нужно, чтобы они сотрудничали. Подробнее об этом вы можете прочитать здесь: https://javascript.info/cross-window-communication#cross-window-messaging

Другой альтернативой является предоставление доступа к элементам iframe перекрестного происхождения. Это можно сделать с помощью совместного использования ресурсов между источниками (CORS). Опять же, это то, что необходимо реализовать владельцу внешнего домена. Подробнее об этом вы можете прочитать здесь: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

...