在IFrame中使用angularjs ui-router $ state.go()

时间:2015-07-13 12:17:40

标签: javascript angularjs iframe

我正在使用angularjs,angular-ui-router.js。应用程序在另一个站点(主机)上启动IFrame。

在启动时,否则状态运行,但在运行$state.go('home', {}, { location: false })之后会发生无意义的事情。 ui-view仍为空,未加载pages / home.html。

应用程序在没有IFrame和Safari的情况下工作正常。 但是在Chrome中不起作用。

<ui-view></ui-view> <!-- Look to pages/home.html-->


$urlRouterProvider.otherwise('/otherwise');
$stateProvider.state("otherwise", {
    url: "/otherwise",
    template: "",
    data: {
        requireLogin: false
    },
    controller: ['$state',
        function ($state) {
            $state.go('home', {}, { location: false })
        }]
});

$stateProvider.state("home", {
    url: "/home",
    templateUrl: "pages/home.html",
    controller: "",
    params: {
        recalcStates: false
    },
    resolve: {
        dataForDay: function(DataService){
            return DataService.loadData();
        }
    }
});

1 个答案:

答案 0 :(得分:0)

问题是当从家庭状态解析块初始化DataService时,有人试图获得对iframe父窗口JS变量的访问权限。它抛出安全异常,但angular-ui-router封装了它,控制台是空的。