В iframe приложении использую и виджет комментариев, и хочу сразу по окончании загрузки выполнить вызов js api метода getCountries().
Затык в том, что писать сразу после VK.init({apiId: 12345}); следующей строчкой VK.api(...) нельзя: получаю ошибку "Error: VK not initialized. Please use VK.init".
Виджет загружается и работает. Ошибка пропадает, если не вызывать API метод.
Как правильно инициализировать VK для одновременного использования и виджетов и методов API через JavaScript?
Как узнать, когда VK.init() выполнился?
Re: Как узнать, когда VK.init() выполнился?
Не понял. Вроде же как правильная конструкция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: вопрос закрыт
Я перепутал 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){ ... }