Как получить данные с формы, которая находится в iframe и уходит на formdesigner.ru. При попытке получить элемент внутри iframe, они скрываются из исходного кода страницы
js
var iframe = document.getElementById('myIframe');
if (iframe.contentWindow) {
iframe.contentWindow.postMessage({
action: 'getData'
}, 'https://formdesigner.ru');
}
В этом коде мы получаем доступ к iframe по его ID и отправляем сообщение с параметром «action» - в данном случае это «getData».
На стороне сервера, на форме formdesigner.ru, необходимо обработать запрос поступивший по postMessage и ответить на него. Например, вот так:
js
window.addEventListener('message', function (e) {
var data = e.data;
if (e.origin !== 'https://mywebsite.com') {
return;
}
if (data.action === 'getData') {
var formData = getFormData();
e.source.postMessage({
action: 'returnData',
data: formData
}, e.origin);
}
});
function getFormData() {
// Ваш код для получения данных с формы
}
Здесь мы добавляем обработчик событий на окно, который будет отслеживать сообщения, отправленные из внешнего окна. Затем мы проверяем, что сообщение отправлено с нужного домена, а затем проверяем действие, переданное в сообщении. Если действие - это "getData", мы получаем данные с формы и отправляем их обратно во внешнее окно с помощью postMessage.
Возможно, потребуется более сложный код для взаимодействия с формой, в зависимости от её конкретной реализации и взаимодействия с formdesigner.ru. Однако в целом, используя технологию iframe postMessage, возможно получить данные с формы, которая находится в iframe и уходит на formdesigner.ru.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет