我有一个在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内容?
答案 0 :(得分:1)
尝试使用
scope.path = $sce.trustAsResourceUrl(response)
并在控制器中包含$ sce。 我不确定这一点,但我知道角度有时会出现ng-src和iframe
的问题编辑:
我现在发现我的iFrame与你的行为相同,我添加了新变量,让我们称之为showIframe,在我更改src之前我将其设置为false并且在我更改src之后将其设置为true(在没有ms数的超时中) - auto),所以i frame被删除并添加到DOM并且历史不会改变。