если вы не хотите использовать плагин jquery, вы можете сделать это, просто используя метод, который я объяснил в моем посте на Facebook (https://www.facebook.com/antimatterstudios/posts/10151007211674364)
У вас есть IFrame, для которого вы хотите автоматически установить высоту, потому что у вас есть страница с другого веб-сайта в вашем.
Ну, к сожалению, IFrame не может принять высоту загружаемого контента, и если вы не укажете высоту, он покажет либо высоту по умолчанию, либо высоту вообще не будет. Это раздражает.
У меня есть решение для вас, оно будет работать только на последних, стандартных поддерживающих браузерах, но также работает и в IE8, так что примерно для 99% из вас это идеально.
Единственная проблема заключается в том, что вам нужно вставить javascript в iframe, что легко, если загружаемый вами контент принадлежит вам, вы можете просто открыть загружаемый контент и вставить в него javascript.
На вашем веб-сайте вам нужен фрагмент javascript, который может «получить сообщение от IFrame», как это
jQuery(document).ready(function(){
jQuery(window).bind("message",function(e){
data = e.data || e.originalEvent.data;
jQuery("iframe.newsletter_view").height(data.height);
});
});
в свой контент IFrame, добавьте это в самом низу, вероятно, можно просто сделать что-то вроде "$ template. $ Javascript", используя PHP или что-то еще, даже если javascript не находится внутри тега
<script type="text/javascript" src="jquery-1.7.1-min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
parent.postMessage({
height:$(document.body).height()+50+"px"
},"*");
});
</script>
Очевидно, что я использую jquery, вам не нужно, это проще, и, вероятно, вы используете его, так что избавьте себя от хлопот.
если вы сделаете это, при загрузке iframe он отправит сигнал обратно в родительское окно, которое изменит размер iframe в зависимости от длины содержимого:)
Я уверен, что вы можете понять, как изменить мелочи, но это метод, который я использую