Phonegap Ionic - iframe history.back();不管用

时间:2016-04-27 11:56:17

标签: javascript angularjs cordova iframe ionic-framework

作为我的应用程序的一部分,我需要将iframe显示为页面。我需要在页面上提供后退和前进按钮,以便iframe可以在其历史记录中返回/转发。

当我尝试:

$scope.backiframe = function() {

  var iframe = document.getElementById('iframe');
  iframe.contentWindow.history.go(-1);
}

使用我的按钮和iframe: <a class="button button-positive" ng-click="backiframe()">back</a> <iframe id="iframe" ng-src="{{trustSrc(url)}}" scrolling="yes"></iframe>

我收到以下错误: Error: Permission denied to access property "history" $scope.backiframe@http://localhost:8100/js/controllers.js:1217:16 anonymous/fn@http://localhost:8100/lib/ionic/js/ionic.bundle...

有没有人知道如何让iframe返回/转发到phonegap离子混合应用中?

1 个答案:

答案 0 :(得分:0)

  

如果您尝试在iframe中访问的网址超出当前网页域名,那么您将无法执行此操作。现代浏览器实现同源策略,该策略在运行跨站点脚本时决定JavaScripts的权限。

     

当父母和孩子来自同一个域时,他们可以互相访问;孩子可以访问和操作父母的属性和方法,反之亦然。但是,当他们不这样做时,尝试这样的访问将触发脚本错误,表明权限被拒绝。

如果由于浏览器安全限制而在其他地方托管iframe,则无法访问该iframe的历史记录。同源政策阻止你回去。

以下是其他几个相关问题: -

  1. Error: Can't access property href
  2. Permission denied to access property in IFRAME