Js从外部域在父级的iframe中打开链接

Js open link in iframe on the parent from external domain

本文关键字:iframe 链接 从外部 Js      更新时间:2023-10-08

我正在与angular和wirecard支付提供商合作。当我需要添加付款时,我会在iframe中打开到该网站的线卡链接,供用户接受付款。在他点击接受后,我提供回我网站的线卡链接,但问题是当我点击接受时,链接在iframe中打开,而不是在父级中。我怎么能通过这个?

<iframe ng-if="paymentIframeUrl" id="paymentIframe" ng-src="{{paymentIframeUrl}}" width="100%" height="200"></iframe>
PaymentsService.paymentMethodProccess(paymentMethod).then(function(res) {
 $scope.paymentIframeUrl = res.data.data.context.redirectUrl;
});

您可以在iframe上收听load事件,并检查url。如果这是您的url,则可以关闭弹出窗口并执行任何操作。

例如:

document.getElementById("Iframe").addEventListener('load', function() {
try {
   var url = document.getElementById("Iframe").contentWindow.location.href;
   if( url.indexOf('yoururl') > -1 ) {
   //do what ever you want
   }
} catch {}
}