В свой компонент Angular6 я встраиваю iframe. Код javascript внутри iframe требовал от меня объявления глобального объекта с определенным именем («обратный вызов API»), чтобы он мог вызывать различные методы глобального объекта. Можно ли создать такой глобальный объект, как мы это делали раньше в JavaScript?
Сервис у меня не работает. Сторонний код, который я встраиваю в iframe, требует от меня создания глобальной переменной с несколькими реализованными функциями.
Вы контролируете код внутри I-кадра?
Нет, я не могу изменить код в iframe.
Почему бы вам не создать объект в оконном объекте ... в вашем компоненте приложения?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если вы хотите создать глобальный объект, просто присоедините его к объекту window.
window.property = `I'm global`;
console.info(property);Спасибо за ответ. Я использую Angular6, поэтому приведенный ниже код у меня сработал. Получено из (stackoverflow.com/a/13480754/5841523) окна ['propertyName'] = MyTypeScriptCallbackObject;
вы про Typescript жаловались на синтаксис window.property?
Я думаю, что глобальная область видимости - это одна для компонента. И если вы хотите сделать одну и ту же область видимости для нескольких, вы можете поместить ее в общий сервис.