我正在与 Angular 和线卡支付提供商合作。 当我需要添加付款时,我在 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 {}
}
关于javascript - Js 在父级的 iframe 中从外部域打开链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28475821/