2013-10-11 63 views
3

我有一种感觉,我失去了一些东西很明显这个问题,但我不能做的iframe在Firefox与Angular.js路线工作。Angular.js,内部框架和Firefox

Here is a sample plunker code

index.html文件包含ng-view它加载main.html

<div> 
Main content here 
<iframe src="#/child"></iframe> 
</div> 

iframe的指向/child途径,其中$routeProvider被配置成加载child.html模板:

angular.module('testappApp', []) 
    .config(function ($routeProvider) { 
    $routeProvider 
     .when('/', { 
     templateUrl: 'views/main.html' 
     }) 
     .when('/child', { 
     templateUrl: 'views/child.html' 
     }) 
     .otherwise({ 
     redirectTo: '/' 
     }); 
    }); 

这适用于Chrome和Sa fari,但不在Firefox和IE 10中(我认为早期版本的IE也不行)。我感谢任何帮助,谢谢!

+0

你有一个特殊的要求,走这条路(I帧),也可以使用其他的方法(即:NG-包括)? – jpmorin

+0

我需要使用iframe,因为我需要在1页上有多个独立的视图。每个视图都应该有自己的面包屑导航,历史记录等,并且可以通过固定链接在单独的页面上打开每个独立视图的每个状态。 Iframes似乎是最自然的选择。 – Andre

+0

问题更多的是使用多个视图,而不是使用iframe。请看看AngularUI UI-Router:(https://github.com/angular-ui/ui-router#multiple--named-views)。它正是你想要达到的。 – jpmorin

回答

3

@jpmorin所以,我只是找到了一个解决办法,这是由以前的建议样的启发。所以,以后我改了iframe源从#/childindex.html/#/child,一切正常!不需要多个包括角度等。我不完全理解为什么原始路线在FF中失败,但直接指向引导应用程序然后添加路线的文件。

+1

类似的工作对我来说 - 我不得不在路由器的Firefox和IE 11工作的哈希前添加斜杠。 –

+0

这不适用于我与Angular 1.4.8 + ui-router 0.2.18 –