2013-10-11 96 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 –