Ответ зависит от того, есть ли у вас контроль над кодом iframe и независимо от того, является ли он одним и тем же доменом.
Если в этом же домене вы можете сделать следующее, чтобы установить функцию обработки ошибок из документа для обертывания:
document.getElementById("myiframe").contentWindow.onerror=function() {
alert('error!!');
return false;
}
убедитесь, что вы дождались завершения загрузки iframe до установки обработчика ошибок.
Если это не тот же домен, но у вас есть контроль над iframe content (оба домена находятся под вашим контролем), вы можете обмениваться данными с внешним фреймом с помощью инфраструктуры междоменной связи (google it или самостоятельно ее создать), то есть уловить ошибку в iframe, установив обработчик onerror из iframe и отправить его через фреймворк во внешний документ.
Если это не тот же домен, и у вас нет контроля над iframe, нет никакого способа, чтобы внешний документ знал, что происходит внутри него, потому что ограничений безопасности.
У нас были те же проблемы с конечной точкой REST, и мы в большой степени полагались (и вроде) на Graphql, поэтому мы решили создать вспомогательную библиотеку.
https://github.com/lionixevolve/GraphQLSuiteCRM
До сих пор мы использовали это в 5 небольших проектах (5M таблиц записей с сотнями пользователей) .
Практически не существует пользовательских запросов, все работает с использованием компонентов SuiteCRM, которые учитывают логические перехватчики и рабочие процессы, а скорость аналогична родной SuiteCRM, тем не менее, для определенных сценариев можно создавать собственные методы разрешения (например, отчеты или добавление большого набора контактов список целей)
В настоящее время он использует тонкий каркас, который позволяет вам писать свои собственные функции.
Я активен в репозитории github, откройте вопрос, если у вас возникнут проблемы.