2017-02-14 78 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;