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

Как узнать, когда VK.init() выполнился?

Добавлено: 30 окт 2012, 08:26
sergiks
В iframe приложении использую и виджет комментариев, и хочу сразу по окончании загрузки выполнить вызов js api метода getCountries().

Затык в том, что писать сразу после VK.init({apiId: 12345}); следующей строчкой VK.api(...) нельзя: получаю ошибку "Error: VK not initialized. Please use VK.init".
Виджет загружается и работает. Ошибка пропадает, если не вызывать API метод.

Как правильно инициализировать VK для одновременного использования и виджетов и методов API через JavaScript?

Re: Как узнать, когда VK.init() выполнился?

Добавлено: 30 окт 2012, 08:34
Serge
sergiks писал(а):В iframe приложении использую и виджет комментариев, и хочу сразу по окончании загрузки выполнить вызов js api метода getCountries().

Затык в том, что писать сразу после VK.init({apiId: 12345}); следующей строчкой VK.api(...) нельзя: получаю ошибку "Error: VK not initialized. Please use VK.init".
Виджет загружается и работает. Ошибка пропадает, если не вызывать API метод.

Как правильно инициализировать VK для одновременного использования и виджетов и методов API через JavaScript?
Не понял. Вроде же как правильная конструкция

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

VK.init(function(){//все запросы к вк тут}); 

Re: вопрос закрыт

Добавлено: 30 окт 2012, 13:46
sergiks
Я перепутал OpenAPI вызов виджета с iframe js api. Действительно, всё заработало без проблем примерно так:

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

<script src="http://vk.com/js/api/xd_connection.js?2" type="text/javascript"></script>...<script type="text/javascript">    VK.init(        function(){            VK.Widgets.Comments(                'vk_comments',                {},                'abcdefgh'            );            getCountries();        }    );     function getCountries(){        VK.api(            'places.getCountries',            {                code: 'RU,UA,BY',                test_mode: 1,            },            gotCountries        )    }    function gotCountries( data){        ...    }