2017-02-14 3 views
0

Я хочу получить HTML-код заголовка из iframe и поместить его в угловое приложение. Это выглядит следующим образом:Как получить HTML из iframe в угловом

IFrame:

<div id="event-details-wrapper"> 
    <div id="event-details">Header</div> 
</div> 

угловой HTML:

<iframe id="welcome-iframe" ng-src="{{ welcomeUrl }}"></iframe> 

{{ header }} 
    <br /> 
<div ng-bind-html="header"></div> 

угловые ЯШ:

$scope.welcomeUrl = $sce.trustAsResourceUrl('http://localhost:63342/welcome.html?id=123'); 

var html = $sce.trustAsHtml(angular.element('#welcome-iframe').contents().find('#event-details-wrapper').get(0).innerHTML) ; 

$scope.header = html + '<div>Hello</div>' ; 

И результат:

...</iframe> 
     <div id="event-details">Header</div> //just text 


     Hello //div element 

Как я могу вставить HTML из iframe в мое приложение?

+1

Убедитесь, что '$ scope.header = HTML + '

Hello
',' должен также использовать '$ sce.trustAsHtml' & двойной чек вы включили' ngSanitize 'module или нет .. –

+0

Возможный дубликат [Получить HTML внутри iframe с помощью jQuery] (http://stackoverflow.com/questions/16103407/get-html-inside-iframe-using-jquery) –

ответ

1

Просто сделать что-то вдоль линий:

var targetIFrame= window.frames['targetIFrame'].document; 
var iFrameBody = targetIFrame.getElementsByTagName('body'); 
var iFrameHeader = iFrameBody.getElementById('event-details-wrapper'); 

$scope.header = iFrameHeader.innerHTML;