2017-02-14 48 views
0

我想从iframe获取标题的HTML代码并将其放到角度应用程序中。它看起来像:如何以角度从iframe获取HTML

的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> 

角JS:

$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 

如何将iframe中的HTML粘贴到我的应用程序中?

+1

确保'$ scope.header = HTML + '

Hello
';'也应该使用'$ sce.trustAsHtml'和仔细检查你已经包括'ngSanitize 'module or not .. –

+0

[使用jQuery获取iframe中的HTML]可能的重复(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;