Не работает resizeWindow

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
Аватара пользователя
jagger
Сообщения: 114
Зарегистрирован: 28 июл 2010, 13:26

Не работает resizeWindow

Сообщение jagger »

Метод:

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

VK.callMethod("resizeWindow", 630, $('#allpage').height() + 20);
Вот мой код:

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

<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script><script type="text/javascript" src="jquery-1.4.2.min.js"></script><script type="text/javascript">        window.onload = (function () {            VK.init(function () {                setInterval("resizeWindow()", 100);            });        });        function resizeWindow() {            VK.callMethod("resizeWindow", 630, $('#allpage').height() + 20);        } </script>
Не работает ни в какую, как только не пытался!
Аватара пользователя
jagger
Сообщения: 114
Зарегистрирован: 28 июл 2010, 13:26

Re: Напроч отказывается работать

Сообщение jagger »

Извиняюсь, разобрался.
Но возникла сразу другая проблема.
Как я понимаю все разработчики указывают высоту 50px, при использовании данного метода.

Пользуясь данным кодом:

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

<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script><script type="text/javascript" src="jquery-1.4.2.min.js"></script><script type="text/javascript">        window.onload = (function () {            VK.init(function () {                setInterval("resizeWindow()", 100);                         });        });        function resizeWindow() {            VK.callMethod("resizeWindow", 827, $('#allpage').height() + 20);        } </script>
У меня не показывает всю страницу приложения, а всего лишь прибавляет ~20px к поставленным 50px.
В чем может быть причина?

p.s.: код в HTML!
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Напроч отказывается работать

Сообщение Александр »

Кто все эти разработчики?
Я не думаю, что это хороший способ

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

setInterval("resizeWindow()", 100);
В некоторых приложениях действительно такой способ может быть необходим, но во многих можно высчитывать новую высоту после событий, которые могли изменить её.

У тебя есть элемент с id="allpage" ?
Сделай

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

alert($('#allpage').height());
перед изменением.
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: Напроч отказывается работать

Сообщение alexei »

Этот метод случайно брался не с http://vkontakte.ru/app1886758 ?

А вообще реально в нем без него обойтись?
но во многих можно высчитывать новую высоту после событий, которые могли изменить её.
Сомневаюсь.
Аватара пользователя
jagger
Сообщения: 114
Зарегистрирован: 28 июл 2010, 13:26

Re: Напрочь отказывается работать

Сообщение jagger »

А как тогда можно вывести реальную высоту приложения? не применяя

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

setInterval("resizeWindow()", 100);
и

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

$('#allpage').height()
Можно узнать?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Напрочь отказывается работать

Сообщение Александр »

jagger
Логически.
Вызывай

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

$('#allpage').height()
когда произойдёт какое-то изменение.

Или же складывай высоту разных блоков при изменении

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

newHeight = $('#block1').height() + $('#block2').height();
Ответить