Как захватить (инициализировать) ошибки из междоменного iframe? - PullRequest
0 голосов
/ 05 апреля 2019

Я настраиваю решение для микро-интерфейса, которое содержит основное интеграционное приложение, которое находится в главном окне, и несколько фреймов со службами (подпрограммами). Эти услуги являются SPA, но не являются необходимыми и обслуживаются из других доменов, но я могу ими управлять Основное приложение должно получить некоторую конфигурацию от базовых сервисов, и оно работает следующим образом - пара встроенных URL-адресов, интегрированных в index.html, и основное приложение знает, что загружать, затем ему нужно ждать события через API postMessage, по одному на каждый IFrame.

Проблема здесь в том, что основное приложение не знает, если что-то идет не так внутри iframe на этапе инициализации: служба не работает по разным причинам, и приложение не загружается внутри iframe или приложение внутри iframe потерял соединение с сервером или синтаксическая ошибка JS. Единственный способ обнаружить это - просто использовать тайм-аут, но это не лучший UX. Например, пользователь подождет 30 секунд, прежде чем увидит ошибку.

Есть ли какие-нибудь возможные способы получить доступ к фреймам из главного окна? Может быть, используя CORS? Это ясно для запросов XHR, но я не нашел информации относительно фреймов и CORS.

1 Ответ

1 голос
/ 05 апреля 2019

Есть ли какие-нибудь возможные способы получить доступ к фреймам из главного окна?

Только postMessage, который вы уже используете.

Может быть с использованием CORS? Это ясно для запросов XHR, но я не нашел информации относительно фреймов и CORS.

Вы не можете использовать CORS для предоставления перекрестного доступа через фреймы.

...