Страница 1 из 5

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

Добавлено: 04 янв 2012, 20:24
Александр
Автоматическая высота 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() {
Хотя всё можно было логически и аккуратно совместить в одной.

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

Добавлено: 04 янв 2012, 21:20
hahaha
Александр
А вы после публикации этого урока не меняли что-нибудь в коде? Просто сразу после публикации урока я протестировал код все работало, потом через некоторое время обновил страницу с этим уроком и сматрю что что-то поменялось, протестировал код обновленый но он не работает, а старый рабочий уже удалил...???

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

Добавлено: 04 янв 2012, 21:22
Александр
hahaha
В коде не менял, описание перед и после кода изменил.
Напиши ссылку на приложение.

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

Добавлено: 04 янв 2012, 21:31
hahaha
http://vkontakte.ru/app2273538

напишите любые коментарии и нажмите загрузить ещё, окно должно будет изменится с коментариями, но это не происходит...

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

Добавлено: 04 янв 2012, 21:37
Александр
Попробуй убрать строчку

Код: Выделить всё

<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
У тебя уже подключается jquery.

Код: Выделить всё

<script type="text/javascript" src="//yandex.st/jquery/1.4.2/jquery.min.js"></script>

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

Добавлено: 04 янв 2012, 21:39
Александр
Ну и код надо не тупо копирнуть в надежде что заработает, а всё таки подумать.
Как у тебя так получилось что в div просто запихнул код?

Код: Выделить всё

    <!doctype html>    <html>...    </html>
Не надо так делать. У тебя уже есть свои html, title, body...

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

Добавлено: 05 янв 2012, 11:49
ukhov
Если у вас не загрузились некоторые объекты (например, виджет комментариев), а высота уже сработала (неверно определилась), то может такой скрипт:

Код: Выделить всё

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

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

Добавлено: 05 янв 2012, 21:13
hahaha
Содержимое должно быть в TEST?

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

Добавлено: 07 янв 2012, 14:05
ukhov
hahaha писал(а):Содержимое должно быть в TEST?
TEST - это и есть содержимое. содержимое должно быть в <body>, который в <div id=page>

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

Добавлено: 07 янв 2012, 14:30
bodnar
ukhov писал(а):содержимое должно быть в <body>, который в <div id=page>
это в какой спецификации тег боди не является корневым тегом для всех остальных не метатегов?