У меня есть приложение angular (Angular 7), и на одной из страниц я хочу иметь iFrame, который загружал бы другую страницу того же приложения. И мне нужно поддерживать IE 11.
Для простоты:
1.) Окно A = Содержит мои iFrames
2.) Main Page = Home Page моего приложения.
3.) Компонент оболочки - это место, где вызывается мой this.router.navigate ().
Теперь происходят 2 вещи, которые нельзя изменить:
1.) IFrame создается динамически и отображается / скрывается в зависимости от переменной. На этой главной странице может быть N номеров iFrame.
2. В моем приложении есть базовая c функция безопасности, которая проверяет права авторизованного пользователя на URL-адресе, который они пытаются посетить. Если у пользователя нет разрешения, приложение перенаправляет его обратно на главную страницу.
Теперь, когда я добавил URL-адрес в свой iframe, веб-страница загружается в iFrame, но эта безопасность check не может аутентифицировать моего пользователя и перенаправляет меня на главную страницу.
Я искал какое-то решение для обмена данными между этими областями без особых изменений в моем приложении.
Итак, есть какие-нибудь мысли или предложения по этому поводу?
Я попробовал этот "this.router ['someKey'] = 'myValue' и попытался поймать его там, где мое приложение проверяет пользователя ... ну, этого параметра вообще не было.
Плюс тот iFrame даже не загружался в IE из-за некоторых проблем с безопасностью. Так что это еще одна проблема. Я занимаюсь этим несколько дней теперь, и это сводит меня с ума. Любое предложение будет оценено!
Примечание 1: Я НЕ хочу передавать данные в параметрах URL, потому что это противоречит цели безопасности c в самом приложении. * 102 7 *
Примечание 2: обратите внимание, что я не вызываю "this.router". navigate () »в моем окне A. Я вызываю его на уровне оболочки.
Примечание 3: я также не могу использовать локальное хранилище, потому что мы уже храним много данных, и они могут достичь скоро лимит.