2016-09-28 5 views
1

Есть ли способ отслеживать изменения внутри и iframe? Я хочу отслеживать изменения внутри iframe и соответственно устанавливать новую высоту.Добавить динамическую высоту для iframe в угловом

Я новичок в угловом мире, нуждаюсь в некотором руководстве. У меня есть следующий код

HTML

<div ng-controller="myCtrl" class="iframe_wrap"> 
    <iframe id="displayframe" src="file:///C:/Users/Dell/Desktop/test2.html" frameborder="0" scrolling="no" style="border:2px solid black;width: 100%; overflow: hidden; height: {{count}}px;"></iframe> 
</div> 

JAVASCRIPT

angular.module('myApp', []).controller('myCtrl', ['$scope', function($scope) { 
    $scope.count = document.getElementById('displayframe').contentWindow.document.body.offsetHeight; 
}]); 

Есть ли слушатель для отслеживания изменений внутри фрейма доступной?

Редактировать: Мой пример выше работает над готовым документом i.e Я могу получить высоту над готовым документом. Мой вопрос в том, что, если позже div будет добавлен новый div после щелчка внутри iframe. Я хочу, чтобы iframe имел динамическую высоту без полосы прокрутки.

+0

Что именно вы имеете в виду? Например, если в iframe есть div динамической высоты, измените это, измените также высоту iframe? –

+0

Что делать, если новый div добавляется внутри моего iframe после того, как документ готов, то как мы можем изменить высоту. Мой iframe состоит из секции комментариев, где клиент может оставлять комментарии. Мне не нужна полоса прокрутки, но я хочу, чтобы высота iframe динамически настраивалась. –

ответ

0
angular.module('myApp', []).controller('myCtrl', ['$scope',function($scope) { 
    $(document).ready(function() { 
    $("#displayframe").on('load', function() { 
    var divElement = $(this).contents().find("div"); 
    var height  = divElement.height(); 
    $scope.count = height; 
    }); 
}); 
}]); 

Если у вас есть div внутри, вы можете изменить высоту iFrame, используя это. Вы можете изменить в соответствии с вашими потребностями. Надеюсь, это вам поможет. :)

+0

Что делать, если новый div добавляется после того, как документ готов, то как изменить высоту. Мой iframe состоит из секции комментариев, где клиент может оставлять комментарии. Я не хочу полосу прокрутки, но я хочу, чтобы высота iframe динамически изменялась. –