Итак, у меня есть iframe на странице приложения (разные домены), где у iframe есть несколько полей и скрытая кнопка, на которой есть событие click для выполнения всех необходимых действий (например, операции CRUD).Сообщение вызывается через ajax, поэтому в iframe нет метода POST.На родительской странице есть кнопка, к которой следует обращаться при щелчке, которая должна вызывать событие нажатия внутри фрейма.Я изучил postMessage и перекрестные источники и смог найти что-то, что я реализовал в своем решении.С этим добавлением, когда я нажимаю на кнопку на родительской странице, ничего не происходит.Я не вижу никаких ошибок консоли, но ничего не срабатывает.Вот что у меня в коде.
<div id="main">
<iframe id="cardIframe" src="@($"https://localhost:44320/handlers?userId={Model.UserId}")"
width="100%" height="300px" style="border: none;" scrolling="no"></iframe>
<hr class="mb-4" />
@Html.UI().Button("Continue to Checkout", size: UIElementSize.Block, uiClass: UIElementClass.Primary, htmlAttributes: new { @class = "checkoutsubmit" })
<script type="text/javascript">
$('.checkoutsubmit').click(function (e) {
var iframe = document.getElementById('cardIframe').contentWindow;
window.iframe = iframe;
iframe.postMessage("createvault", "*");
});
</script>
И в моем приложении iframe (http://localhost:43402)
<script type="text/javascript">
window.addEventListener("click", clickEvent, false);
function clickEvent(event) {
$('.processbraintree').trigger('click');
}
$('.processbraintree').click(function(e) {
..Do something
});
</script>
Не уверен, что я здесь не так делаю.Тот факт, что я не вижу ошибок на консоли, не помогает никому.Мне нужно, чтобы iframe выполнил пост формы, так как в нем есть все, что нужно.Таким образом, родитель должен иметь возможность инициировать событие внутри iframe, которое в данный момент не происходит.