2014-09-04 4 views
0

У меня есть две разные html-страницы. Я хочу отобразить второй в первом, используя iframe. Обе страницы html находятся в моей папке grail-app под активами/шаблонами/mainapp /. Я использую ngroute для страниц.Использование iFrame в Angular JS

Первый HTML страница

<!-- @author Karan Shah --> 
<body> 
    <div> 
     <h1>Document Display Contents</h1> 

     <!-- Back --> 
     <a href="#/documents">Back to the List of Documents</a> 

     <!-- Get the name of the selected document from previous view to be displayed on current view --> 
     <br>  
     <div ng-controller='displaycontrol'> 
      You are viewing : <b>{{doc}}</b> 
     </div> 

     <!-- Http get request to get the text of the document to controller --> 
     <br>  
     <div ng-controller='textcontrol'> 
      {{textofdocument}} 
     </div> 

     <div> 
      <iframe ng-src="/maindocument.html">Fail</iframe> 
     </div> 
    </div> 
</body> 

Второй HTML- страница (maindocument.html)

<!DOCTYPE html> 
<html > 
<head> 
<meta charset="ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
Hello how are you ?? 
</body> 
</html> 

Файл Контроллер

/** 
* @author Karan Shah 
* 
*/ 

var documentDisplayModule = angular.module('ald.documentdisplay',[]); 

// Selected document name from previous view gets displayed on the document display view using $routeParams 
documentDisplayModule.controller('displaycontrol',['$scope','$routeParams', function($scope,$routeParams){ 
    $scope.doc=$routeParams.doc; 
}]); 

// $http.get to get the text based on the selected document 
documentDisplayModule.controller('textcontrol',['$scope','$http','$routeParams',function($scope,$http,$routeParams){ 
    $http.get("/document/getContents?docName="+$routeParams.doc).success(function(datatext){ 
    $scope.textofdocument=datatext; 
    }) 
}]) 

documentDisplayModule.controller('framecontrol',['$scope',function($scope){ 
    $scope.docurl="assets/templates/mainapp/maindocument.html"; 
}]) 

Я думаю, что я не получаю право src. Может кто-нибудь сказать мне, что должно быть источником? Я ничего не могу отобразить. Это ошибка, что я получаю при отладке:

GET http://localhost:8080/maindocument.html 404 (Not Found) 
+0

является maindocument.html в той же папке, что и другой HTML-страницы? – Hazaart

+0

да его в той же папке –

+0

Почему, по вашему мнению, src не прав? Какую ошибку вы получаете? – LcSalazar

ответ

1

Источник должен быть где ваш maindocument.html находится в папке

т.е..

активы/шаблоны/mainapp/maindocument.html

использование -

<iframe src="assets/templates/mainapp/maindocument.html"></iframe> 
+0

, если его в той же папке, что и другой html, не должен работать src = "maindocuemnt.html"? –

+0

да, он должен. Проверьте, что maindocument.html является допустимой страницей html с правильными тегами html. – jkojoa

+0

Ну, ошибка исчезла, но она не отображает то, что она должна. –

Смежные вопросы