Автоматическая высота IFrame

На форуме уже до этой статьи было полно информации о том как это реализовать, и при этом у кого-то всё равно не получалось.
Этот код протестирован и работает.

Код динамически вычисляет высоту iframe по содержимому.
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>http://flapps.ru</title>
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>
<script type="text/javascript" charset="cp1251" >
$(function() {
VK.init(function() {
setInterval(newSizeWindow, 100);
function newSizeWindow() {
VK.callMethod("resizeWindow",721,$('.wrapper').height());
}
});
});
</script>
</head>
<body>
<div class="wrapper">
<div style="height:1200px; background:#f00;">
<a href="http://flapps.ru">http://flapps.ru</a><br />
</div>
</div>
</body>
</html>

Весь контент вашей страницы должен находится в блоке .wrapper.

Дам совет: думайте прежде чем тупо копировать куда-то какой-то код. Всё можно сделать аккуратнее, тогда отладка и расширение функций вашего приложения в будущем будут проще.
Часто вижу, что у кого-то несколько раз используется конструкция
$(function() {
VK.init(function() {

Хотя всё можно было логически и аккуратно совместить в одной.

Если у вас не загрузились некоторые объекты (например, виджет комментариев), а высота уже сработала (неверно определилась), то может такой скрипт:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>
</head>
 
<div id=page>
<body>
TEST
</body>
</div>
 
<script type="text/javascript">
function h_update_1() {
VK.callMethod("resizeWindow", 721, $('#page').height()+Number(20));
setTimeout(h_update_1, 1000);
}
 
setTimeout(h_update_1, 1000);
</script>
</html>
Добавлено: 15 Августа 2013 11:00:45 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...