Angular2+ не рендерится модалка с iframe, пока не двинется мышь
Всем привет, Такая проблема: Angular, есть компонент (модалка) - кредитная карта. Есть сервис, который запускает библиотеку (платёжная система, получает пропсы, генерирует токен, устанавливает соединение с api, генерирует html-страницу в iframe). Ответ с подтверждением оплат и OTP-ключем приходит в iframe, который лежит в отдельной модалке. Эта модалка не запускается, пока пользователь не сделает что-то в браузере, тоже самое и после свершения платежей - окно автоматически должно закрываться, но пока пользователь не шевельнется - все остается статичным. модалка iframe.html
<iframe name="authentication-3ds-frame" id="xendit-three-ds-container"style="width: 100%; height: 370px;" ></iframe>
модалка iframe.ts
export class Authentication3DSComponent {
@Input() modalData: any;
globalEventsSubscription;
constructor(
private eventService: EventService, private modal: Modal) {
this.globalEventsSubscription = this.eventService.emitter.subscribe(
(event) => {
this.handleGlobalEvents(event);
}
);
}
ngOnInit() {
let payer_authentication_url = this.modalData.payer_authentication_url;
window.open(payer_authentication_url, "authentication-3ds-frame");
}
ngOnDestroy() {
this.globalEventsSubscription.unsubscribe();
}
handleGlobalEvents(event) {
if (event.type === 'payment-service:xendit-token-status-verified') {
this.close();
}
}
close() {
this.modal.close({
id: "Authentication3DS"
})
}
}
Ответы (1 шт):
вопрос решен отключением zone.js и "ручным" запуском ChangeDetection в интервале 100мс