История браузера с iframe и angularjs

88
9

У меня есть страница, отображающая внешний контент в iframe. Содержимое отображается хорошо, но когда загружается содержимое iframe, в историю браузера добавляется другая копия текущей страницы. Это вызывает проблемы с функциональностью кнопки браузера.


Я получаю путь к контенту в зависимости от выбранного языка, а затем получаю путь от токена ресурса.


IFrame


<iframe ng-if="path" style="height: 90%; background-color: transparent" allowtransparency="true" class="w-full" ng-src="{{path}}" name="storyFrame" frameborder="0"></iframe>

загрузка пути


$http.get(LRM.getUrl('scormToken', scope.selectedLang.scorm_package.resource_token))
.success(function (response) {
scope.path = response;
}).error(function (response) {
toaster.pop('error', '', 'Could not fetch scorm package');
});

Вопрос в том, как загрузить содержимое iframe без добавления в историю браузера?

спросил(а) 2021-01-25T15:10:23+03:00 4 месяца, 2 недели назад
1
Решение
63

Попробуйте использовать


scope.path = $sce.trustAsResourceUrl(response)

и включить $sce в контроллер.
Я не уверен в этом, но знаю, что angular иногда имеет проблемы с ng-src и iframes

EDIT:


Теперь я узнал, что мой iFrame действует так же, как ваш, я добавил новую переменную, позвонил на showIframe, прежде чем я изменил src, я установил его в false и после того, как я изменил src, установите для этого значение true (в тайм-ауте без номера ms - auto), поэтому i-кадр удаляется и добавляется в DOM, и история не изменяется.

ответил(а) 2021-01-25T15:10:23+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема